車の機能安全規格を満たすため、フラッシュメモリに求められる要件とは?:機能安全規格対応の最新メモリ製品も紹介
自動車での利用が広がっているフラッシュメモリは、機能安全規格「ISO26262」を満たす必要性が高まっています。機能安全規格を満たすために必要な機能、要件とはどのようなものかを紹介しながら、機能安全規格を満たす最新フラッシュメモリを紹介していきます。
NOR型フラッシュメモリは、長年にわたり車載用途において使用されている信用された技術であり、今日、計器クラスタやインフォテインメント、テレマティクスシステムなど、さまざまな車載システムに使用されています(図1参照)。これらのアプリケーションにおいて不揮発性メモリは、プログラムコードを保存し信頼性とExecute-in-Place(XiP/ホストプロセッサが外部DRAMを介さずフラッシュから直接コードを実行)を行うのに十分な読み出し速度を提供します。
NORフラッシュは、市販車で既に行われている、定速走行・車線維持など高速道路の準自動走行機能を装備しているADAS(Advanced Driver Assistance Systems)コンセプトの採用においても重要な役割を果たしています。
また、自動運転技術の開発ペースは非常に速く、今後数年間で、より多くの車両が、フラッシュメモリを搭載したエレクトロニクスシステムによって制御されることになると予測されます。
ADASでは計器クラスタやその他あらゆる場所と同様に、フラッシュメモリは安全性が重要なシステムコンポーネントです。このようなシステムにおいて不具合が生じると、車両が危険にさらされたり、制御不能になったりする可能性があります。システム異常のリスクを管理および、最小化するために自動車業界は機能安全規格「ISO26262」を実行しています。同規格の主な項目は以下の通りです。
- システム機能不具合発生の可能性を、設計段階において厳密に分析する必要がある。
- システム全体の不良率を最大限低く設定する。
- 動作障害を確実かつ迅速に検出する機能をシステムに要求する。
- 予測可能な動作障害が発生した際、安全に存続し、復旧するための安定した手段をシステムに要求する。
図1:2014年Audi TTのバーチャル計器クラスタ。NORフラッシュは、起動時に必要なクラスタ情報を素早くに表示する目的で広く使用されています。(画像著作権:Robert Basic under Creative Commons license)
したがって、自動車システムOEMは、前世代のデバイスよりも優れたシステムレベルで機能安全設計要件に対応できる新しいタイプのフラッシュICを要求し始めています。この記事では、既存NORフラッシュICの動作モードについて説明し、ISO26262規格に準拠するためのシステム設計者の取り組みを完全にサポートするための、新しい車載向けシリアルフラッシュ製品が提供する機能について説明します。
これらの動作安全機能には、シリアルNORフラッシュメモリ(ブートコードストレージ用の組み込みシステムで最も頻繁に使用されているフラッシュメモリタイプ)とシングルレベルセル(SLC)NANDフラッシュの両方に用いられています。実際、シリアルNANDは、多数のプログラム/消去サイクルを必要とせず、XiP実装不要なアプリケーションにおいて、NORフラッシュの有効な代替品としてコードストレージ用に使用されます。ウィンボンドのSLC NAND技術は高品質を証明された46nmプロセスで製造されており、機能安全アプリケーション向けには、新しい微細プロセスで製造されるシリアルNAND製品より適しています。また、55-65nmのNORフラッシュと同等のデータリテンション期間を提供します。
シリアルNANDの利点は、低コストな点です。NANDフラッシュのビットセルはNORフラッシュの4分の1の大きさです。ウィンボンドのシリアルNANDはECC(Error Correcting Code)エンジンを搭載し、ページやブロックの境界線をまたぐ読み出しでの高速連続/順次読み出し機能に対応しており、車載機能安全アプリケーション設計者の間ではNORフラッシュと並んで積極的に検討されつつあります。
診断データの公開表示
NORフラッシュメモリ技術は非常に信頼性が高く、動作寿命の予測が可能なデバイスです。市場で既にその品質が証明されており、なおかつ車載OEMがこの技術を好む理由は、今日、何百万台もの車両での使用実績に基づいています。ISO26262規格は、全部で4つの“ASIL”(Automotive Safety Integrity Level)グレードで信頼性とその他のパラメータを指定しています。ステアリングやブレーキなどの最も安全が重視されるシステム向けには最も厳しいグレード「ASIL-D」で、全システムレベルにおける最大故障率が10FIT(Failure In Time:10億デバイス×時間当たりの故障率の測定値)に設定されています (図2参照)。NORフラッシュICなど個々のコンポーネントレベルでは、10FITをはるかに下回る最大故障率でなければなりません。
ASIL-A | ASIL-B | ASIL-C | ASIL-D | |
---|---|---|---|---|
SPF(Single Point fault)Metric | 適用外 | >90% | >97% | >99% |
LF(Latent Fault)Metric | 適用外 | >60% | >80% | >90% |
不良率 | 10−6/時 | 10−7/時 | 10−7/時 | 10−8/時 |
FIT(failure in time) | <1,000FIT | <100FIT | <100FIT | <10FIT |
図2:単一不良、潜在不良の最小検出率および、ISO 26262規格で規定されている最大不良率 |
自動車メーカーはISO26262に基づき、NORフラッシュICに起こり得るいかなる不具合の可能性を特定する必要があります。そして、2017年5月時点ではNORフラッシュICメモリは“ブラックボックス”として車載OEMに供給されています。ユーザーは、従来品のデータの整合性やリテンションを維持する機能にアクセスできません。この閉鎖的な操作は、ホストシステムが構成部品の不具合、または不具合発生の可能性を示す異常動作を監視し、適切な機能を維持するためにある機能安全の原則と矛盾します。
つまり、ISO26262準拠のシステムで使用するNORフラッシュICは、ホストコントローラへの診断データを提供可能にし、データが示す不具合のリスクが高まるのに応じてホストがICの動作を変更できる手段を提供しなければなりません。
NORフラッシュICの主な2つの機能は、以下データを提供します。
- 読み出し動作でビットエラーを検出し修正することでデータの整合性を維持するECCエンジン
- ECCエンジンの動作を定期的にテストできるユーザーモード
ECCデータが機能安全動作をサポートする仕組み
従来のNORフラッシュICは、ECCエンジンがバックグラウンドで動作し、ホストコントローラに警告することなくマルチバイト単位でのビットエラーを修正します。
しかし実際には、ECCデータを使用することによりさまざまな方法で機能安全性順守が可能になります。ECCエンジンは、1-ビットエラーを修正し(メインデータビットとパリティビット間の不一致が1-ビットのみの場合)、2-ビットエラーを検出することができます(修正は不可)。
ホストコントローラにステータスレジスタを用意することで、NORフラッシュデバイスは最新の読み出し動作の結果が下記3項目の中の1つであるかどうかを提示します。
- エラー修正不要の正常データ
- エラー修正後の正常データ
- 修正不可能な異常データ
この「事後」情報は長期的なデータ整合性を維持するのに役立ちます。しかし、ISO26262では不具合発生と同時にそれを検知し、直ちに対策を講じる必要があります。ウィンボンドの新しい車載向けNORフラッシュICは、専用のエラーピンを介してリアルタイムにエラー情報を提供します。このピンは修正不可能データの正確な位置を特定するためにアサートされることもあります。ユーザーオプションとして、1-ビットエラー修正後、または修正不可能な2-ビットエラーの検出を選択しエラーピンに提示させることも可能です。
ホストはその後、ステータスレジスタやエラーピン、もしくはその両方から得た情報を用いてエラーレジスタを構築し、効果的にNORフラッシュアレイのマップを作成、ビットエラーの位置を記録します。続いて、基準値を設定します。特定ブロックなど1カ所で発生するエラーの数が基準値を超えた場合、その場所は使用されなくなります。メモリセルの特定ブロックで修正された1-ビットエラーが繰り返し発生すると、ブロックが弱くなり、早期故障の危険性があるため、これは賢明な予防措置と言えます。
潜在的な不具合を特定するための手段
ここまでは、ISO26262が定める各ASILグレードの最小検出率のための、単一不具合処理方法について述べられてきました。しかしこの規格では、自動車システムに「潜在的欠陥」を検出することも求められています。潜在的欠陥とは、機能的な安全要件には違反していないが、二次的不具合に関連した際に違反する可能性のある不具合のことです。
NORフラッシュICには、このような潜在的欠陥の可能性があります。ECCエンジンの誤動作がその例です。通常の動作では、NORフラッシュテクノロジーは非常に信頼性が高く、エラー修正はほぼ不要です。ECCエンジンの不具合により正常ビットが誤修正されない限り、この不具合に気づきません。しかし、ECCエンジン不良(潜在的欠陥)によりシングル不良ビットが修正されないと、2つの不具合が重なり機能安全性に危険が及びます。
潜在的なECCエンジン不良を検出するため、ウィンボンドの車載用NORフラッシュは特殊なユーザーモードとECCエンコーダーリードコマンドを搭載しています。これにより、ユーザーはメインデータパターンをメモリに与え、生成されたパリティデータをECCエンジンから読み戻すことが可能です。パリティデータが不正確な場合、エラーの警告が出ます。
同様に、ユーザーモードはECCでコード動作を確認するためにも使用することが可能です。ユーザーがメインデータおよび、パリティデータをECCエンジンにロードし、特別なECCデコーダリードコマンドでメインデータを読み戻すことができるからです。また、メインデータおよびパリティデータに、1-ビットおよび2-ビットエラーを導入し、ECCエンジンが1-ビットエラー修正または2-ビットエラー検出を適切に実行するかどうかをチェックすることもできます。このECCエンジンチェックはシステムの電源を入れるたびに実行すべきという点が、ウィンボンドの推奨しているポイントです。
生産部品における新しい機能安全性能
ウィンボンドはADAS製品やその他車載システムメーカーのニーズに応え、前述の動作安全機能を車載NORフラッシュ新製品に搭載しています。最大80Mバイト/秒のデータ転送速度を特長とするQuad 3Vファミリは、256Mビットの容量にてサンプル提供可能です。2017年下半期には、512Mビット製品(256Mビット×2枚のスタックダイ)が提供可能になる予定です。さらにウィンボンドは2018年に、512Mビットのモノリシックダイ、そして、2枚の512Mビット品からなる1Gビット製品をリリース予定です。
300Mバイト/秒以上のデータ転送速度を特徴とするウィンボンドのオクタル1.8Vファミリは、256Mビット以上の容量で提供され、2018年下半期にサンプル開始が予定されています。その後、その他の容量が続く予定です。
ウィンボンドは、機能安全性能を備えたシリアルNAND製品も提供しています。512Mビット、1Gビットおよび、2Gビット(1Gビット×2枚のスタックダイ)の容量にてサンプル提供可能です。
1Gビットの「W25N01GV」を含むウィンボンドのシリアルNAND製品は、読み出しデータがECCなしで正常か、ありで正常か、または修正不可能なのかどうかの情報をステータスレジスタに送ることで、機能安全性能をサポートします。シリアルNANDのページサイズは2Kバイトで、1ビットエンベデッドECCはセクタレベル(512バイト)で提供されます。つまり、2Kバイトのページで最大4ビットの修正が可能です。また、ウィンボンドのシリアルNANDは追加のユーザーコマンドで不良ページの位置を読み出す機能もご提供します。
ECC Status | Descriptions | ||
ECC-1 | ECC-0 | ||
0 | 0 | 出力データ全体がECC修正なしで成功。 | |
1 | 1 | 単一もしくは複数ページ内で1〜4ビット/ページのECC修正を行い、出力データ全体が成功。 | |
1 | 0 | 出力データ全体で、1ページ内にECC修正不可能な4ビットエラー以上を含む。連続読み出しモードでは、追加コマンドを使用してエラーの位置するページアドレス(PA)を読み出すことが可能。 | |
1 | 1 | 出力データ全体に、4ビット以上のエラーが1ページもしくは複数ページに存在。連続読み出しモードでも、追加コマンドは最後のエラーページアドレス(PA)しか指定できない。データの使用に適さない。 | |
図3:ウィンボンドのシリアルNANDが潜在的に弱いセルやブロックを特定する際のエラーログ |
ウィンボンドの機能安全アプリケーション向けSPI NORやシリアルNANDソリューションは、設計要件に応じた適切なフラッシュメモリの選択肢をご提供いたします。
【著:Winbond アメリカ/Anil Gupta(テクニカルエグゼクティブ)】
Copyright © ITmedia, Inc. All Rights Reserved.
関連リンク
提供:ウィンボンド・エレクトロニクス株式会社
アイティメディア営業企画/制作:EE Times Japan 編集部/掲載内容有効期限:2017年12月5日