説明

半導体装置及びメモリシステム

【課題】通信時におけるノイズを低減出来る半導体装置及びメモリシステムを提供すること。
【解決手段】ホスト機器2との間で通信可能な半導体装置12であって、疑似乱数発生回路32を備え、前記疑似乱数発生回路で生成された疑似乱数に応じてシンボルLIDL0, LIDL1, SYN0, SYN1を生成するシンボル生成部24と、前記シンボルについて8b/10b変換を行う変換部25と、前記8b/10b変換部で変換された前記シンボルを、前記ホスト機器に送信する送信部26とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、半導体装置及びメモリシステムに関する。例えば、メモリシステムとホスト機器との間の通信方法に関する。
【背景技術】
【0002】
近年、SDTMカードなどのデータ記憶デバイスの大容量化、デジタルカメラ等の解像度向上による画像の高精細化、また画像データのフレームレート向上による高画質化には目覚ましいものがある。このような背景のもと、デジタルカメラ等のホスト機器と、データを記録する記憶デバイス等との間のデータ伝送量は、増大の一途をたどっている。このような大容量データ伝送においては、接続ケーブルの簡略化、消費電力の抑制、EMI放射ノイズ低減などの観点から、小振幅差動信号による高速シリアル伝送方式が一般的に用いられるようになってきている。また、この様な高速シリアル伝送方式では、伝送の安定化を図るために8b/10bの様なコーディングが用いられることが一般的である。
【0003】
シリアル伝送方式によるデータ通信時においては、同一のデータ(“00”または“FF”の様な)が連続して送出されると、その連続パターンの周期に相当する周波数成分の高調波ノイズが発生する。そこで、その対処方法として、データに疑似乱数を重畳して送出する、所謂スクランブル方式が知られている(例えば非特許文献1参照)。
【0004】
しかしながら従来のスクランブル方式は、データの非通信時すなわちアイドル状態において、シリアル伝送の同期維持のために固定パターンが連続伝送されることへの対処方法までは考慮しておらず、アイドル状態におけるノイズ発生の問題は依然として解決されていない。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】“High Speed Serdes Devices and Applications”、David Robert Stauffer 他著、Springer発行、2008年、140〜143頁
【発明の概要】
【発明が解決しようとする課題】
【0006】
この発明は、通信時におけるノイズを低減出来る半導体装置及びメモリシステムを提供する。
【課題を解決するための手段】
【0007】
この発明の一態様に係る半導体装置は、ホスト機器との間で通信可能な半導体装置であって、疑似乱数発生回路を備え、前記疑似乱数発生回路で生成された疑似乱数に応じてシンボルを生成するシンボル生成部と、前記シンボルについて8b/10b変換を行う変換部と、前記8b/10b変換部で変換された前記シンボルを、前記ホスト機器に送信する送信部とを具備する。
【0008】
またこの発明の一態様に係るメモリシステムは、データを保持可能な不揮発性の半導体記憶装置と、ホスト機器から受信した書き込みデータを前記半導体記憶装置へ書き込み、前記半導体記憶装置から読み出した読み出しデータをホスト機器へ送信可能なメモリコントローラとを具備し、前記メモリコントローラは、疑似乱数発生回路を備え、前記疑似乱数発生回路で生成された疑似乱数に応じてシンボルを生成するシンボル生成部と、前記シンボルについて8b/10b変換を行う変換部と、前記8b/10b変換部で変換された前記シンボルを、前記ホスト機器に送信する送信部とを備える。
【発明の効果】
【0009】
本発明によれば、通信時におけるノイズを低減出来る半導体装置及びメモリシステムを提供出来る。
【図面の簡単な説明】
【0010】
【図1】この発明の第1実施形態に係るメモリシステムのブロック図。
【図2】第1実施形態に係るメモリカードにおける信号ピンに対する信号割り当てを示す図。
【図3】第1実施形態に係るメモリコントローラのブロック図。
【図4】第1実施形態に係るシンボルを示すダイアグラム。
【図5】第1実施形態に係るメモリシステムとホスト機器との間の通信の様子を示すタイミングチャート。
【図6】第1実施形態に係るシンボル生成部の動作を示すフローチャート。
【図7】通信時における周波数スペクトルを示すグラフ。
【図8】第1実施形態に係る通信時における周波数スペクトルを示すグラフ。
【図9】第1実施形態に係る通信時における周波数スペクトルを示すグラフ。
【図10】第1実施形態に係る通信時における周波数スペクトルを示すグラフ。
【図11】この発明の第2実施形態に係るメモリコントローラのブロック図。
【図12】第2実施形態に係るメモリシステムとホスト機器との間の通信の様子を示すタイミングチャート。
【図13】第2実施形態に係るメモリシステムの動作を示すフローチャート。
【図14】第2実施形態に係る通信時における周波数スペクトルを示すグラフ。
【図15】第2実施形態の変形例に係るメモリシステムとホスト機器との間の通信の様子を示すタイミングチャート。
【図16】この発明の第3実施形態に係るメモリシステムとホスト機器との間の通信の様子を示すタイミングチャート。
【図17】この発明の第3実施形態に係るメモリシステムとホスト機器との間の通信の様子を示すタイミングチャート。
【発明を実施するための形態】
【0011】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【0012】
[第1の実施形態]
この発明の第1の実施形態に係る半導体装置及びメモリシステムにつき、SDメモリカード(以下、単にメモリカードと呼ぶ)を例に挙げて説明する。
【0013】
<メモリカードの全体構成について>
まず、メモリカードの全体構成について、図1を用いて説明する。図1は、本実施形態に係るメモリカードのブロック図である。
【0014】
図示するようにメモリカード1は、例えばパーソナルコンピュータやデジタルカメラ等のホスト機器2と通信可能とされている。ホスト機器2は、バスインターフェース14を介して接続されるメモリカード1に対しアクセスを行うためのハードウェアおよびソフトウェアを備えている。メモリカード1は、ホスト機器2に接続された時に電源供給を受けて動作し、ホスト機器2からのアクセスに応じた処理を行う。
【0015】
メモリカード1は、バスインターフェース14を介してホスト機器2と情報の授受を行う。メモリカード1は、NAND型フラッシュメモリチップ(単にNAND型フラッシュメモリ、またはフラッシュメモリと呼ぶことがある)11、NAND型フラッシュメモリチップ11を制御するメモリコントローラ12、および複数の信号ピン(第1ピン乃至第17ピン)13を備えている。
【0016】
複数の信号ピン13は、メモリコントローラ12と電気的に接続されている。複数の信号ピン13における第1ピン乃至第17ピンに対する信号の割り当ては、例えば図2に示すようになっている。図2は、第1ピン乃至第17ピンと、それらに割り当てられた信号とを示す表である。
【0017】
第7ピン、第8ピン、第9ピン、及び第1ピンには、データ0〜データ3がそれぞれ割り当てられている。第1ピンはまた、カード検出信号に対しても割り当てられている。更に第2ピンはコマンドCMDに割り当てられ、第3ピンおよび第6ピンは接地電位GNDに、第4ピンは電源電位VDDに、第5ピンはクロック信号CLKに割り当てられている。
【0018】
更に、第10ピン、第13ピン、第14ピン、及び第17ピンは、電源電位VDDまたは接地電位GNDに割り当てられている。また第11ピン、第12ピン、第15ピン、及び第16ピンにはそれぞれ、差動信号のペアとなるデータ(D1+)とデータ(D1−)、およびデータ(D0−)とデータ(D0+)が割り当てられている。これらのピンは、小振幅差動信号における相補的な信号用の端子である。例えばD0+とD0−の信号ペアは、ホスト機器2からメモリカード1への信号伝送に用いられる。またD1+とD1−の信号ペアは、メモリカード1からホスト機器2への信号伝送に用いられる。
【0019】
メモリカード1は、ホスト機器2に設けられたスロットに対して挿抜可能なように形成されている。ホスト機器2に設けられたホストコントローラ(図示せず)は、これらの第1ピン乃至第17ピンを介してメモリカード1内のメモリコントローラ12と各種信号およびデータを通信する。例えばメモリカード1にデータが書き込まれる際には、ホストコントローラは、書き込みコマンドを、第11、12ピンを介してメモリコントローラ12にシリアルな信号として送出する。このときメモリコントローラ12は、第7、8ピンに供給されているクロック信号に応答して、第11、12ピンに与えられる書き込みコマンドを取り込む。
【0020】
書き込みコマンドは、第11、12ピンのみを利用してメモリコントローラ12にシリアルに入力される。コマンドの入力に割り当てられている第11、12ピンは、図2に示すように配置され、複数の信号ピン13とそれに対するバスインターフェース14(SDインターフェース)は、ホスト機器2内のホストコントローラとメモリカード1とが通信するのに使用される。
【0021】
これに対し、NAND型フラッシュメモリ11とメモリコントローラ12との間の通信は、NAND型フラッシュメモリ用のインターフェースによって行われる。したがって、ここでは図示しないが、NAND型フラッシュメモリ11とメモリコントローラ12とは例えば8ビットの入出力(I/O)線により接続されている。
【0022】
例えば、メモリコントローラ12がNAND型フラッシュメモリ11にデータを書き込む際には、メモリコントローラ12は、これらI/O線を介してデータ入力コマンド80H、カラムアドレス、ページアドレス、データ、およびプログラムコマンド10Hをフラッシュメモリ11に順次入力する。ここで、コマンド80Hの“H”は16進数を示すものであり、実際には“10000000”という8ビットの信号が、8ビットのI/O線にパラレルに与えられる。つまり、このNAND型フラッシュメモリ用のインターフェースでは、複数ビットのコマンドがパラレルに与えられる。
【0023】
また、NAND型フラッシュメモリ用のインターフェースでは、NAND型フラッシュメモリ11に対するコマンドとデータが同じI/O線を共用して通信されている。このように、ホスト機器2内のホストコントローラとメモリカード1とが通信するインターフェースと、NAND型フラッシュメモリ11とメモリコントローラ12とが通信するインターフェースとは異なる。
【0024】
次に、図1に示すメモリカード1の備えるメモリコントローラ12の詳細について説明する。なおNAND型フラッシュメモリ11は周知の構成を有しているものであるので、その説明は省略する。
【0025】
<メモリコントローラ12の構成について>
メモリコントローラ12は、NAND型フラッシュメモリ11内部の物理状態(例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが消去状態であるか)を管理する。そしてメモリコントローラ12は全体として、ホスト機器2の要求に従って、NAND型フラッシュメモリ11からデータを読み出し、これをホスト機器2へ転送し、またホスト機器2から与えられる書き込みデータをNAND型フラッシュメモリ11に書き込むための動作を実行する。なお以下では説明の簡単化のため、メモリコントローラ12からホスト機器2に対して通信を行うための構成にのみ着目して説明する。
【0026】
図3は、メモリコントローラ12のブロック図である。図示するようにメモリコントローラ12は、フラッシュコントローラ21、バッファ22、コマンド/データ制御部23、シンボル生成部24、8b/10b変換部25、ホストインターフェースモジュール26、MPU(Micro Processing Unit)27、ROM(Read Only Memory)28、及びRAM(Random Access Memory)29を備えている。なお、図中における実線はデータやシンボルの流れを示し、破線はMPU27による制御の様子を示す。
【0027】
フラッシュコントローラ21は、MPU27の制御に基づいて、メモリコントローラ12とNAND型フラッシュメモリ11との間のインターフェース処理を行う。例えばデータの読み出し時には、NAND型フラッシュメモリ11から転送された読み出しデータを受信し、バッファ22に格納する。
【0028】
バッファ22は、上記読み出しデータを一時的に保持し、これをコマンド/データ制御部23へ出力する。
【0029】
シンボル生成部24は疑似乱数発生回路32を備え、MPU27の制御に従って、ホスト機器2との通信に必要な種々のシンボル(コマンド、または制御信号と言うことも出来る)を発行し、コマンド/データ制御部23に出力する。疑似乱数発生回路32としては、例えばリニアフィードバックシフトレジスタを用いることが出来るが、勿論、これに限定されるものでは無い。シンボル生成部24は、データの非通信時には、アイドル状態を示すシンボルを発行出来る。そしてシンボル生成部24は、アイドル状態を示すシンボルとして複数の種類のシンボルを生成可能であり、疑似乱数発生回路32によって生成された疑似乱数に基づき、どの種類のシンボルを生成するかを決定する。この点については後に詳細に説明する。
【0030】
コマンド/データ制御部23は、MPU27の制御に従って、バッファ22からの読み出しデータ、またはコマンド/データ制御部23からのシンボルのいずれかを選択して、8b/10b変換部へ出力する。
【0031】
8b/10b変換部25は、コマンド/データ制御部23から与えられた信号(読み出しデータまたはシンボル)につき8b/10b変換を行い、その結果をホストインターフェースモジュール26に出力する。8b/10b変換とは、8ビットの信号を10ビットに変換する処理である。この変換はあるテーブルを用いて行われ、変換結果はシンボルDxx.xと表記される。すなわち、“00H”〜“FFH”の8ビットデータは、D00.0〜D31.7のいずれかのシンボルで表現される。これらのシンボルは特にDコードと呼ばれる。またDコードとして用いられないビット列のいくつかは制御用シンボルとして用いられ、Kコードと呼ばれる。このような8b/10b変換は周知の技術を用いて実行可能であり、その詳細は例えば背景技術で述べた非特許文献1の137〜139頁に記載されている。
【0032】
ホストインターフェースモジュール26は、ホスト機器2との間のインターフェース処理を行う。図3に示すようにホストインターフェースモジュール26は、パラレル・シリアル変換部30と、シリアル出力ポート31とを備えている。パラレル・シリアル変換部30は、8b/10b変換部25から与えられる10ビットのパラレルデータをシリアルデータに変換して、シリアル出力ポート31に出力する。シリアル出力ポート31は、受信したシリアルデータを、バスインターフェース14を介してホスト機器2へ送信する。
【0033】
MPU27は、メモリカード1全体の動作を制御する。MPU27は、例えばメモリカード1が電源供給を受けたときに、ROM28に格納されているファームウェア(制御プログラム)をRAM29上に読み出して所定の処理を実行することにより、各種のテーブルをRAM29上に作成する。またMPU27は、ホスト機器2から書き込みコマンド、読み出しコマンド、消去コマンドを受信し、受信したコマンドに従って、上記フラッシュコントローラ21、コマンド/データ制御部23、シンボル生成部24、8b/10b変換部25、及びホストインターフェースモジュール26の動作を制御する。
【0034】
ROM28は、MPU27により実行される制御プログラムなどを格納する。RAM29は、MPU27の作業エリアとして使用され、制御プログラムや各種のテーブル(表)を記憶する。
【0035】
<シンボル生成部24の生成するシンボルについて>
次に、上記シンボル生成部24の生成するシンボルの一部について、図4を用いて説明する。図4は、シンボル生成部24に生成されるシンボルのシンボル名、その機能、及び8b/10b変換によって得られるコードを示す表である。
【0036】
図示するようにシンボル生成部24は、シンボルSYN、COM、LIDL0、及びLIDL1を生成出来る。シンボルSYNは、ホスト機器2との同期を図るための信号であり、8b/10b変換によりシンボルD31.5に変換される信号である。シンボルCOMは、シンボル間の区切りを示す信号であり、8b/10b変換によりシンボルK28.5に変換される信号である。シンボルLIDL0、LIDL1は、メモリカード1とホスト機器2との間でデータの通信が無いアイドル状態であることを示す信号である。そしてシンボルLIDL0は8b/10b変換によりシンボルK28.3に変換され、シンボルLIDL1はシンボルD13.2、D19.2、またはD18.5に変換される信号である。
【0037】
<メモリカード1とホスト機器2との間の通信について>
次に、上記メモリカード1とホスト機器2との間の通信の詳細について、図5を用いて説明する。図5は、メモリカード1からホスト機器2に送信される信号のタイミングチャートである。
【0038】
図示するように、ホスト機器2に接続されたメモリカード1は、まずホスト機器2との同期を図るためのシンボルセットSYNCをホスト機器2に送信する。シンボルセットSYNCは、上記シンボルCOMとシンボルSYNとの組み合わせである。このシンボルCOM、SYNを含む1つのシンボルセットSYNCが、ホスト機器2との同期が図られるまで、連続して送信される(時刻t0〜t1)。
【0039】
時刻t0〜t1の期間におけるメモリコントローラ12の動作は下記の通りである。すなわちMPU27は、ホスト機器2への接続を検知すると、シンボル生成部24に対してシンボルCOM、SYNを生成するよう命令する。これに応答してシンボル生成部24がシンボルCOM、SYNを繰り返し生成し、コマンド/データ制御部23に出力する。またコマンド/データ制御部23は、MPU27の命令に従って、シンボル生成部24から与えられるシンボルCOM、SYNを8b/10b変換部25へ転送する。すると8b/10b変換部25は、MPU27の命令に従って、受信したシンボルCOM、SYNをそれぞれシンボルK28.5、D31.5に変換し、ホストインターフェースモジュール26へ出力する。そしてホストインターフェースモジュール26が、受信したシンボルK28.5、D31.5を、ホスト機器2へ送信する。
【0040】
時刻t1でホスト機器2との同期が確立されると、データ通信が行われる。すなわち図5の時刻t1〜t2に示すように、データ信号がメモリカード1からホスト機器2に送信される。このデータ信号は、8b/10b変換で得られたDコードの連続である。
【0041】
時刻t1〜t2の期間におけるメモリコントローラ12の動作は下記の通りである。すなわちMPU27は、ホスト機器2からデータの読み出しコマンド及びアドレスを受信すると、NAND型フラッシュメモリ11に対する読み出しコマンドとアドレスとを発行し、フラッシュコントローラ21を介してNAND型フラッシュメモリ11にデータの読み出しを命令する。その後、送信したアドレスに対応する読み出しデータをフラッシュコントローラ21が受信し、バッファ22に蓄積される。引き続きコマンド/データ制御部23は、MPU27の命令に従って、バッファ22からの読み出しデータを8b/10b変換部25へ転送する。すると8b/10b変換部25は、MPU27の命令に従って、受信したデータを対応するDコードに変換し、ホストインターフェースモジュール26へ出力する。そしてホストインターフェースモジュール26が、受信したDコードを、ホスト機器2へ送信する。
【0042】
時刻t2においてデータ通信が完了すると、メモリカード1はアイドル状態となり、アイドル状態を示すシンボルセットIDLをホスト機器2へ送信する。シンボルセットIDLは、上記シンボルCOMとシンボルLIDL0またはLIDL1との組み合わせである。以下では説明の簡単化のため、シンボルLIDL1、LIDL0を区別しない場合には、まとめてLIDLx(x=0または1)と呼ぶことにする。このシンボルCOMとLIDLxとを含む1つのシンボルセットIDLが、次のデータ通信開始(時刻t3)まで、連続して送信される(時刻t2〜t3)。
【0043】
時刻t2〜t3の期間におけるメモリコントローラ12の動作は下記の通りである。すなわちMPU27は、バッファ22においてホスト機器2への未送信データが無くなることを検知すると、シンボル生成部24に対してシンボルCOMとLIDLxを生成するよう命令する。これに応答してシンボル生成部24がシンボルCOM及びLIDLxを繰り返し生成し、コマンド/データ制御部23に出力する。またコマンド/データ制御部23が、MPU27の命令に従って、シンボル生成部24から与えられるシンボルCOM及びLIDLxを8b/10b変換部25へ転送する。すると8b/10b変換部25は、MPU27の命令に従って、受信したシンボルCOMをシンボルK28.5に変換する。またシンボルLIDL0を受信した際にはこれをシンボルK28.3に変換し、シンボルLIDL1を受信した際にはシンボルD13.2、D19.2、またはD18.5に変換する。そしてホストインターフェースモジュール26が、受信したシンボルをホスト機器2へ送信する。シンボルセットIDLは、その後にホスト機器2との間でのデータ通信が再開されるまで、繰り返しホスト機器2へ送信される。
【0044】
<シンボル生成部24の動作について>
次に、上記図5で説明した時刻t2〜t3におけるシンボル生成部24の動作について、図6を用いて説明する。図6はシンボル生成部24の動作を示すフローチャートである。
【0045】
図示するように、ホスト機器2へ送信すべきデータが無い場合(ステップS10、NO)、シンボル生成部24はまずシンボルCOMを発行する(ステップS11)。引き続きシンボル生成部24は、疑似乱数発生回路32が生成する疑似乱数を確認する。そして疑似乱数が予め定められたある値(便宜上、「第1の値」と呼ぶ)であれば(ステップS13、YES)、シンボルLIDL0を発行する(ステップS14)。他方、第1の値でなければ(ステップS13、NO)、シンボルLIDL1を発行する(ステップS15)。
【0046】
以上の動作を、ホスト機器2との接続が切断されるか(ステップS16、YES)、またはデータ送信のタイミングとなるまで(ステップS10、YES)繰り返す。なお、疑似乱数発生回路32は疑似乱数を常時生成しても良いし、シンボルセットIDLの発行をMPU27に命令されている期間のみ生成しても良い。
【0047】
<効果>
以上のように、この発明の第1の実施形態に係るメモリカード1であると、通信時におけるノイズを低減出来る。本効果につき、以下説明する。
【0048】
背景技術で述べたような高速シリアル伝送方式では、データの伝送開始時には、同期を確立するためのシンボルセット(図5で説明したシンボルCOM+SYN)を送信し続ける。そして同期が確立された後、データの伝送が開始される。
【0049】
このようなシステムにおいて、一連のデータ伝送が終了した後、次のデータ伝送が開始されるまでの間は、アイドル状態であることを示すアイドルシンボルとして特定のシンボルを送信し続けることが考え得る。このアイドルシンボルは、ホスト機器との間の同期を維持するためのシンボルでもある。
【0050】
このアイドルシンボルとしては、シンボルK28.3(以下シンボルLIDLと呼ぶ)を使用することが出来る。しかしながらK28.3は、2進数表示で“001111_0010”または“110000_1101”なるコードであり、“0”または“1”が連続する信号である。従って、シンボルセットCOM+LIDLを連続して送信した場合、ある特定のパターンで“0”または“1”が連続する信号の繰り返しが送信される。すると、シンボルセットCOM+LIDLの特定のパターンの繰り返しにより、あるスペクトルのピークが大きくなり、ノイズ、特にEMIノイズの原因となる、という問題がある。この様子を図7に示す。図7は、アイドルシンボルとしてLIDLを用いた場合をシミュレーションした結果得られた周波数スペクトルを示すグラフであり、横軸に周波数[MHz]を示し、縦軸に強度[dB]を示したものである。図示するように、周波数スペクトルは離散的に発生し、その強度は比較的大きく、特に200MHz付近では65dBに達している。
【0051】
この点、本実施形態に係る構成であると、アイドルシンボルとして2つのシンボルLIDL0、LIDL1を用いている。このうちLIDL0は上記LIDLと同じくシンボルK28.3であるが、LIDL1はLIDL0と異なるシンボルである。そして、アイドルシンボルとしてLIDL0、LIDL1のいずれを使用するかは、疑似乱数発生回路32で生成された疑似乱数によって、ランダムに選択している。その結果、連続するシンボルセットにおいて、同一の“0”/“1”パターンが連続することを抑制し、このパターンの持つ高調波の放射を抑えることが出来る。よって、ホスト機器2との間の同期を維持しつつ、発生するノイズを効果的に低減出来る。
【0052】
図8は、LIDL1としてD13.2を用いた場合をシミュレーションした結果得られた周波数スペクトルを示すグラフである。図示するように、図7の例と比べて周波数スペクトルのピークはより連続的となり(離散的で無い)、その結果各ピークにおける強度も小さくなっている。例えば200MHz付近のピーク強度は50dBであり、図7に比べて15dBも小さくなっている。15dBの低下は、電力換算で1/30である。このように、ピーク強度を低減することで、ノイズも低減出来る。
【0053】
また図9及び図10は、LIDL1としてD19.2及びD18.5を用いた場合をシミュレーションした周波数スペクトルを示すグラフである。図示するように、この場合も、図7の例と比べて周波数スペクトルのピーク強度は小さくなっている。
【0054】
なお、上記実施形態ではLIDL1としてシンボルD13.2、D19.2、またはD18.5を用いる場合を例に説明した。しかし、これ以外のシンボルを用いても良い。すなわち、同一のデータパターンの繰り返しが発生し難い構成であれば良いので、LIDLとして複数の種類のシンボルを用いる構成であれば限定されるものではない。
【0055】
但し、より好ましくは、LIDL1としてはランニング・ディスパリティ(running disparity:RD)が±0となるシンボルを用いることが望ましい。8b/10b変換におけるシンボルは、+/−の2種類が存在する。“−”のシンボルは“+”のシンボルをビット反転させたものである。そして、直前のシンボルのRDが“+”であれば次は“−”のシンボルを使用する等により、“1”、“0”の頻度がどちらか一方に偏らないような工夫が為される。そして、“1”、“0”の数が同じであるシンボルが、RDが±0となるシンボルである。COM、LIDL0はいずれもRDに+/−の2種類が存在するコードであり、COM+LIDL0のペアを連続すると、RDの変化周期が固定し“1”、“0”のパターンが固定した繰り返しが発生する。LIDL1にRDが±0となるシンボルを選択すれば、疑似乱数によりLIDL0とLIDL1がランダムに選択されることにより、RDの変化周期が固定するのを防止出来るので、より好ましい。上記実施形態で説明したシンボルD13.2、D19.2、D18.5は、いずれもRDが±0となるシンボルである。
【0056】
[第2の実施形態]
次に、この発明の第2の実施形態に係る半導体装置及びメモリシステムについて説明する。本実施形態は、上記第1の実施形態において、アイドルシンボルとして複数の種類のシンボルを用いる代わりに、シンボルセットに乱数データを含めたものである。以下では、上記第1の実施形態と異なる点についてのみ説明する。
【0057】
<メモリコントローラ12の構成について>
図11は、本実施形態に係るメモリコントローラ12のブロック図である。図示するように本実施形態に係るメモリコントローラ12は、第1の実施形態で説明した図3の構成において、スクランブルデータ生成部33を更に備えた構成を有している。
【0058】
スクランブルデータ生成部33は、疑似乱数発生回路34を備えている。そしてMPU27の制御に従って、疑似乱数発生回路34を用いて例えば8ビットの乱数データ(スクランブルデータ)SRDi(i=0〜N、Nは1以上の自然数)を生成する。疑似乱数発生回路34には、例えばリニアフィードバックレジスタを用いることが出来る。
【0059】
8b/10b変換部25は、上記第1の実施形態で説明した機能に加えて、スクランブルデータ生成部33で生成されたスクランブルデータSRDiについて8b/10b変換を行う機能を有している。
【0060】
シンボル生成部24は、アイドルシンボルとして1種類のシンボルLIDLを発行する。シンボルLIDLは、例えばK28.3である。つまり第1の実施形態においてアイドルシンボルとしてはLIDL0のみを発行可能な構成を有している。
【0061】
<メモリカード1とホスト機器2との間の通信について>
次に、上記メモリカード1とホスト機器2との間の通信の詳細について、図12を用いて説明する。図12は、メモリカード1からホスト機器2に送信される信号のタイミングチャートであり、第1の実施形態における図5と対応するものであるが、ホスト機器2との同期確立の動作は第1の実施形態と同様であるので、その様子は図示を省略している。また以下では、第1の実施形態と異なる時刻t2〜t3における動作についてのみ説明する。
【0062】
時刻t2においてデータ通信が完了すると、メモリカード1はアイドル状態となり、シンボルセットIDLをホスト機器2へ送信する。シンボルセットIDLは、上記シンボルCOM、シンボルLIDL、及びスクランブルデータ生成部33で生成されたスクランブルデータSRDiに対応するシンボルの組み合わせである。スクランブルデータSRDiは疑似乱数発生回路34で生成された疑似乱数であるため、シンボルセットIDLが生成される度に、スクランブルデータSRDiの値も変わる。これらのシンボルCOM、LIDL、SRDiを含む1つのシンボルセットIDLが、次のデータ通信開始(時刻t3)まで、連続して送信される(時刻t2〜t3)。
【0063】
時刻t2〜t3の期間におけるメモリコントローラ12の動作は下記の通りである。すなわちMPU27は、バッファ22においてホスト機器2への未送信データが無くなることを検知すると、シンボル生成部24に対してシンボルCOMとLIDLを生成するよう命令する。これに応答して、シンボル生成部24はシンボルCOM及びLIDLを繰り返し生成し、コマンド/データ制御部23に出力する。またMPU33はスクランブルデータ生成部33に対して、スクランブルデータSRDiを生成するよう命令する。これに応答してスクランブルデータ生成部33は、疑似乱数発生回路34によりスクランブルデータSRDiを生成し、コマンド/データ制御部23に出力する。そしてコマンド/データ制御部23は、MPU27の命令に従って、シンボル生成部24から与えられるシンボルCOM及びLIDL、並びにスクランブルデータ生成部33から与えられるスクランブルデータSRDiを8b/10b変換部25へ転送する。すると8b/10b変換部25は、MPU27の命令に従って、受信したシンボルCOM、LIDL、及びスクランブルデータSRDiにつき8b/10b変換を行う。そしてホストインターフェースモジュール26が、受信したシンボルをホスト機器2へ送信する。シンボルセットIDLは、その後にホスト機器2との間でのデータ通信が再開されるまで、繰り返しホスト機器2へ送信される。
【0064】
<シンボル生成部24及びスクランブルデータ生成部33の動作について>
次に、上記図12で説明した時刻t2〜t3におけるシンボル生成部24及びスクランブルデータ生成部33の動作について、図13を用いて説明する。図13はシンボル生成部24及びスクランブルデータ生成部33の動作を示すフローチャートである。
【0065】
図示するように、ホスト機器2へ送信すべきデータが無い場合(ステップS10、NO)、シンボル生成部24はまずシンボルCOMを発行し(ステップS11)、引き続きシンボルLIDLを発行する(ステップS20)。更にスクランブルデータ生成部33がスクランブルデータSRDiを生成する(ステップS21)。
【0066】
以上の動作を、ホスト機器2との接続が切断されるか(ステップS16、YES)、またはデータ送信のタイミングとなるまで(ステップS10、YES)繰り返す。なお、疑似乱数発生回路34は、疑似乱数を常時生成しても良いし、またはスクランブルデータSRDiの生成をMPU27に命令されている期間のみ生成しても良い。
【0067】
<効果>
以上のように、この発明の第2の実施形態に係るメモリカード1であっても、第1の実施形態と同様の効果が得られる。
【0068】
本実施形態に係る構成では、アイドルシンボルの種類を1種類(LIDL:K28.3)とした代わりに、シンボルセットにスクランブルデータSRDiを含めている。スクランブルデータSRDiは疑似乱数発生回路34によって生成される。より具体的には、M系列によって生成されるバイト列であり、例えば生成多項式(X15+X5+X4+X3+1)等によって作られる疑似乱数である。
【0069】
このような疑似乱数をシンボルセットに含めることで、あるパターンで“0”/“1”が連続する信号が繰り返されることを抑制し、周波数スペクトルのピークの増大を防止出来る。図14は、本実施形態のシミュレーションした結果を示す周波数スペクトルのグラフである。図示するように、第1の実施形態で説明した図7の場合に比べて、スペクトルはより連続的となり、そのピーク強度も低減されている。例えば200MHz付近のピーク強度は約60dBであり、図7の場合に比べて5dBだけ低減されている。この結果、ノイズを低減出来る。
【0070】
なお、本実施形態ではアイドル状態を示す1つのシンボルセットがCOM+LIDL+SRDiである場合を例に説明したが、スクランブルデータSRDiの数は2バイト以上であっても良い。図15は、メモリカード1からホスト機器2に送信される信号のタイミングチャートであり、1つのシンボルセットに2バイトのスクランブルデータSRDi、SRD(i+1)を含めた場合について示している。図示するように、最初のシンボルセットはCOM+LIDL+SRD0+SRD1であり、これに引き続くシンボルセットはCOM+LIDL+SRD2+SRD3であり、以下同様である。
【0071】
このようにスクランブルデータのバイト数を増やすことで、よりスペクトルの拡散を図り、ノイズを低減出来る。なお、スクランブルデータの数は2n個(nは自然数)、つまり2nバイトであることが望ましい。
【0072】
[第3の実施形態]
次に、この発明の第3の実施形態に係る半導体装置及びメモリシステムについて説明する。本実施形態は、上記第1の実施形態をシンボルSYN(以下、同期シンボルと呼ぶ)に適用したものである。すなわち本実施形態は、上記第1の実施形態においてLIDLを2種類生成するのでは無く、2種類のSYN(SYN0、SYN1)を生成するものである。その他は第1の実施形態と同様であるので、以下では簡単に説明する。
【0073】
<メモリカード1とホスト機器2との間の通信について>
図16は、メモリカード1からホスト機器2に送信される信号のタイミングチャートである。図示するように、ホスト機器2との同期を図るためのシンボルセットSYNCは、COM+SYN0、またはCOM+SYN1のいずれかが選択される。SYN0、SYN1のいずれが生成されるかは、第1の実施形態で説明したLIDL0、LIDL1と同様、シンボル生成部24において疑似乱数発生回路32が生成した疑似乱数に基づいて決定される。
【0074】
<効果>
本実施形態に係る構成であっても、第1の実施形態と同様の効果が得られる。ホスト機器2との同期を図る際には、シンボルセットSYNCが繰り返し送信される。従ってこの期間においても、あるパターンで“0”/“1”が連続する信号が繰り返される可能性があり得る。しかし、本実施形態のようにシンボルSYNを2種類(SYNx、x=0または1)用意し、そのうちのいずれかをランダムに選択することで、あるパターンで“0”/“1”が連続する信号が繰り返されることを防止し、ノイズを低減出来る。またSYNxは第1の実施形態と同様に、RDが±0となるシンボルであることが望ましい。
【0075】
[第4の実施形態]
次に、この発明の第4の実施形態に係る半導体装置及びメモリシステムについて説明する。本実施形態は、上記第2の実施形態をシンボルSYN(以下、同期シンボルと呼ぶ)に適用したものである。すなわち本実施形態は、上記第2の実施形態においてシンボルセットIDLにスクランブルデータSRDiを含めるのでは無く、シンボルセットSYNCに含めるものである。その他は第2の実施形態と同様であるので、以下では簡単に説明する。
【0076】
<メモリカード1とホスト機器2との間の通信について>
図17は、メモリカード1からホスト機器2に送信される信号のタイミングチャートである。図示するように、ホスト機器2との同期を図るためのシンボルセットSYNCは、COM+SYN+SRDiである。勿論、1つのシンボルセットSYNCに含まれるスクランブルデータは2バイト以上であっても良い。
【0077】
<効果>
本実施形態に係る構成であっても、第2の実施形態と同様の効果が得られる。
【0078】
以上のように、この発明の第1、第3の実施形態に係る半導体装置12及びメモリシステム1であると、ホスト機器2との間で通信可能であって、疑似乱数発生回路32を備え、疑似乱数発生回路32で生成された疑似乱数に応じてシンボルLIDL0、LIDL1(またはSYN0、SYN1)を生成するシンボル生成部24と、シンボルLIDL0、LIDL1(またはSYN0、SYN1)について8b/10b変換を行う変換部25と、8b/10b変換部25で変換されたシンボルを、ホスト機器2に送信する送信部26とを具備する。
【0079】
また第2、第4の実施形態に係る半導体装置12及びメモリシステム1であると、ホスト機器2との間で通信可能であって、シンボルを生成可能なシンボル生成部24と、スクランブルデータSRDを生成可能なスクランブルデータ生成部33と、前記シンボル及び前記スクランブルデータSRDについて8b/10b変換を行う変換部25と、前記8b/10b変換部で変換された前記シンボル及び前記スクランブルデータSRDを1つのシンボルセットとして、ホスト機器2に送信する送信部26とを具備する。
【0080】
そして上記シンボルは、例えばホスト機器2との間においてデータの非通信時であるアイドル状態を示すシンボル、またはホスト機器2との間の同期を確立するためのシンボルである。
【0081】
なお、上記第1、第3の実施形態では、アイドルシンボルがLIDL0とLIDL1の2種類であり、同期シンボルがSYN0とSYN1の2種類である場合を例に説明した。しかしシンボル生成部24は、アイドルシンボル及び同期シンボルをそれぞれ3種類以上生成可能な場合であっても良い。3種類以上の場合であっても、どのシンボルを生成するかは疑似乱数に応じて決定される。またシンボル生成部24は、生成するシンボルを疑似乱数に応じて決定するのでは無く、複数のシンボルを生成した後、このうちのいずれかを疑似乱数により選択し、選択したシンボルをコマンド/データ制御部23に出力しても良い。
【0082】
また、第1、第2の実施形態を組み合わせても良い。すなわち、アイドル時のシンボルセットIDLを、シンボルCOM+(LIDL0またはLIDL1)+SRDiによって構成しても良い。このことは第3、第4の実施形態についても同様である。つまり、同期時のシンボルセットSYNCを、シンボルCOM+(SYN0またはSYN1)+SRDiによって構成しても良い。
【0083】
更に、第1、第2の実施形態では、アイドルシンボルについてのみ複数のシンボルを用意またはスクランブルデータを付加する場合について説明した。また第3、第4の実施形態では、同期シンボルについてのみ複数のシンボルを用意またはスクランブルデータを付加する場合について説明した。しかし、第1または第2の実施形態と、第3または第4の実施形態とは、同時に実行出来る。つまり、アイドルシンボルと同期シンボルの両方につき、複数のシンボルを用意しても良いし、またはスクランブルデータを付加しても良い。
【0084】
また第1乃至第4の実施形態は、アイドルシンボル及び同期シンボル以外のシンボルについても適用可能である。すなわち、あるパターンで“0”/“1”が連続する信号の繰り返しによりノイズの発生が予想されるその他シンボルであれば、複数の種類のシンボルを用意していずれかをランダムに選択したり、またはランダムデータを付加したりすることにより、同様の効果が得られる。
【0085】
また背景技術で説明したように、データはスクランブルされた状態でホスト機器2へ送信されても良い。この場合、図3及び図11において、スクランブルデータ生成部33をバッファとコマンド/データ制御部23との間に設け、バッファ22から与えられる読み出しデータをスクランブルデータ生成部33によりスクランブルしても良い。また近年の小振幅差動信号による高速シリアルデータ伝送の伝送速度は、1Gbps以上にまで高速化されている。そして1Gbps以上の高速データ伝送においては、データ信号とクロック信号とを同一信号線に多重化して伝送する方式が用いられる。これはクロック多重化方式として知られている。クロック多重化方式では、データ受信側では、伝送信号の信号トグルを検出することによりクロックの再生を行い、受信用のクロック信号として使用する。上記第1乃至第4の実施形態は、このような非常に高速なデータ伝送方式に適用することで、より顕著な効果が得られる。
【0086】
更に、上記第1乃至第4の実施形態で説明したシンボル及びランダムデータの生成等は、ハードウェアで実行しても良いしソフトウェアで実行しても良い。しかし動作速度の観点では、専用のハードウェアを用いることが望ましい。ソフトウェアで実行する際には、例えばシンボル生成プログラムがROM28等に格納され、MPU27がこのプログラムを実行することで、図6に示す動作を行われる。ランダムデータの生成も同様である。
【0087】
更に、上記第1乃至第4の実施形態では、メモリカード1において信号をホスト機器2に出力する構成についてのみ説明した。ホスト機器2から信号を受信する際には、送信時と逆の動作を行えば良い。例えば、ホストインターフェースモジュール26は、シリアル入力ポートとシリアル・パラレル変換部を有する。そして、シリアル入力ポートがホスト機器2から信号を受信し、シリアル・パラレル変換部がこれをパラレル信号に変換する。その後、8b/10b変換部25が10ビットのパラレルデータを8ビットに変換し、バッファ22に蓄積する。そしてMPU27はNAND型フラッシュメモリ11に対してデータの書き込みコマンドを発行すると共に、フラッシュコントローラ21を介してデータをNAND型フラッシュメモリ11へ出力する。
【0088】
更に、図5、図12、図16、及び図17において、ホスト機器2との同期を図る際には、メモリカード1もホスト機器2からシンボルセットSYNCを受信する。またアイドル時にはホスト機器2からシンボルセットIDLを受信する。これらのシンボルも、第1乃至第4の実施形態で説明したように、疑似乱数に基づいて複数のシンボルから選ばれたものであるか、またはスクランブルデータが付加されたものであって良い。つまり、メモリカード1だけでなく、ホスト機器2も第1乃至第4の実施形態に係る構成を有していても良く、上記実施形態はそのような構成も包含することを意図している。
【0089】
勿論、上記実施形態ではメモリシステムとしてSDメモリカードの場合を例に説明したが、UHS(ultra high speed)−IIカードやSD IOデバイスなどのSDインターフェースを有するその他のデバイスであっても良いし、その他のデバイスであっても良い。勿論、NAND型フラッシュメモリ11を備えたメモリカードに限らず、その他の記憶媒体であっても良いし、記憶媒体に限らず、高速なデータ転送を行う電子デバイスであれば広く適用出来る。
【0090】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【0091】
1…メモリカード、2…ホスト機器、11…NAND型フラッシュメモリ、12…メモリコントローラ、13…信号ピン、21…フラッシュコントローラ、22…バッファ、23…コマンド/データ制御部、24…シンボル生成部、25…8b/10b変換部、26…ホストインターフェースモジュール、27…MPU、28…ROM、29…RAM、30…パラレル・シリアル変換部、31…シリアル出力ポート、32、34…疑似乱数発生回路、33…スクランブルデータ生成部

【特許請求の範囲】
【請求項1】
ホスト機器との間で通信可能な半導体装置であって、
疑似乱数発生回路を備え、前記疑似乱数発生回路で生成された疑似乱数に応じてシンボルを生成するシンボル生成部と、
前記シンボルについて8b/10b変換を行う変換部と、
前記8b/10b変換部で変換された前記シンボルを、前記ホスト機器に送信する送信部と
を具備することを特徴とする半導体装置。
【請求項2】
ホスト機器との間で通信可能な半導体装置であって、
シンボルを生成可能なシンボル生成部と、
スクランブルデータを生成可能なスクランブルデータ生成部と、
前記シンボル及び前記スクランブルデータについて8b/10b変換を行う変換部と、
前記8b/10b変換部で変換された前記シンボル及び前記スクランブルデータを1つのシンボルセットとして、前記ホスト機器に送信する送信部と
を具備することを特徴とする半導体装置。
【請求項3】
前記シンボルは、データの非通信時であるアイドル状態を示すシンボルである
ことを特徴とする請求項1または2記載の半導体装置。
【請求項4】
前記シンボルは、前記ホスト機器との間の同期を確立するためのシンボルである
ことを特徴とする請求項1または2記載の半導体装置。
【請求項5】
前記シンボル生成部は、データの非通信時においてアイドル状態であることを示すシンボルとして、前記疑似乱数に応じて第1シンボルと第2シンボルのいずれかを生成し、
前記第1、第2シンボルのいずれかは、ランニング・ディスパリティが±0となるシンボルである
ことを特徴とする請求項1記載の半導体装置。
【請求項6】
前記スクランブルデータ生成部は、2nバイト(nは1以上の自然数)のスクランブルデータを生成し、前記シンボル及び前記2nバイトのスクランブルデータが前記1つの信号セットとなる
ことを特徴とする請求項2記載の半導体装置。
【請求項7】
データを保持可能な不揮発性の半導体記憶装置と、
ホスト機器から受信した書き込みデータを前記半導体記憶装置へ書き込み、前記半導体記憶装置から読み出した読み出しデータをホスト機器へ送信可能なメモリコントローラと
を具備し、前記メモリコントローラは、
疑似乱数発生回路を備え、前記疑似乱数発生回路で生成された疑似乱数に応じてシンボルを生成するシンボル生成部と、
前記シンボルについて8b/10b変換を行う変換部と、
前記8b/10b変換部で変換された前記シンボルを、前記ホスト機器に送信する送信部と
を備えることを特徴とするメモリシステム。
【請求項8】
データを保持可能な不揮発性の半導体記憶装置と、
ホスト機器から受信した書き込みデータを前記半導体記憶装置へ書き込み、前記半導体記憶装置から読み出した読み出しデータをホスト機器へ送信可能なメモリコントローラと
を具備し、前記メモリコントローラは、
シンボルを生成可能なシンボル生成部と、
スクランブルデータを生成可能なスクランブルデータ生成部と、
前記シンボル及び前記スクランブルデータについて8b/10b変換を行う変換部と、
前記8b/10b変換部で変換された前記シンボル及び前記スクランブルデータを1つのシンボルセットとして、前記ホスト機器に送信する送信部と
を具備することを特徴とするメモリシステム。
【請求項9】
前記シンボルは、データの非通信時であるアイドル状態を示すシンボルである
ことを特徴とする請求項7または8記載のメモリシステム。
【請求項10】
前記シンボルは、前記ホスト機器との間の同期を確立するためのシンボルである
ことを特徴とする請求項7または8記載のメモリシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−123609(P2011−123609A)
【公開日】平成23年6月23日(2011.6.23)
【国際特許分類】
【出願番号】特願2009−279719(P2009−279719)
【出願日】平成21年12月9日(2009.12.9)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】