• 公開日:2020年03月25日
  • | 更新日:2022年12月01日

e.MMCのpSLC(Pseudo Single Level Cell) mode 設定方法について

はじめに

e.MMCとは、Embedded Multi-Media Cardの略称であり、NAND FlashとControllerをシングル・パッケージ化した製品です。パッケージタイプとしてBGA方式となっており、代表的なManaged NAND品(Controller + NAND)であるCF cardやSD cardとは異なり、基板に半田で実装され挿抜できないデバイスとなっております。e.MMCのようなController搭載品を使用する大きな利点としては、NAND Flash単品と比較して取り扱いが容易であることが大きなメリットとなります。

一方で、最近のe.MMC製品では搭載されているNANDがMLC NANDやTLC NANDであることから、耐久性を心配をされているケースがあるかもしれません。この記事では、最新のNANDを搭載したe.MMCにおいて、耐久性を向上させる使用法について説明をします。

NAND単品とe.MMC

図1は、NAND単品とe.MMCを比較した簡略図です。

図1. NAND Flash, e.MMC 比較概略図

NAND Flash単品にてお客様環境で使用する場合、 図1の(1)NAND Flash単品使用時のように、NAND Flash内物理Block/Pageのdata managementデータマネジメントやECC訂正方式等の制御が必要不可欠となります。

一方、e.MMCでは、図1の(2)e.MMC使用時のように、Controller及びFirmwareがパッケージ内に搭載されているため、NAND Flash内の物理Block/Pageのdata management等の制御が定まっております。
つまり、e.MMCに搭載されているControllerにNAND Flashの制御を完全に任せられることが大きなメリットとなります。

pSLC(Pseudo Single Level Cell)とは

NAND Flashは大きくSLC(Single Level Cell)、MLC(Multi Level Cell)、TLC(Triple Level Cell)等と大別されます。これらの違いは、ひとつのメモリ・セルに何bitのデータを書き込めるか(programできるか)による分類となります。

以下は、NAND Flashのセル構造となっておりますが、セルあたりのFloating Gate内電荷注入量の差で、NAND FlashのTypeが異なります。

 

図2. Programing to NAND Flash Cell

pSLC(Pseudo SLC: 疑似SLC) modeは、本来はひとつのセルに複数bitのデータをprogramできるMLC NANDやTLC NANDにおいて、1bit分のみのデータをprogramするmodeを指します。つまり、本来は複数bitのデータが使用できるNANDを疑似的にSLC NANDとして使用することからpSLCと呼ばれています。

このような制御方法をおこなうと、記憶容量としては減少してしまいますが、セル内部の電荷密度及び注入頻度も減ることから、高寿命が期待できる信頼性の高い使用方法になります。

  • SLC:セルあたり1bit分のデータをprogram
  • MLC:セルあたり2bit分のデータをprogram
  • TLC:セルあたり3bit分のデータをprogram
  • pSLC: MLC NANDやTLC NANDで、セルあたり1bit分のデータをprogram

e.MMC pSLC mode(enhanced mode)設定方法

e.MMCの仕様は、JEDECにより文書化されています。このJEDECの文書ではMLC NANDやTLC NANDなどを搭載したe.MMCの一部(あるいは全ての)領域をpSLCとして使用する領域に変更することができます。このpSLC領域をenhanced areaと呼んでいます。実際にenhanced areaに変更できる容量は、各e.MMCデバイスにより異なります。このため、enhanced areaの最大容量は、Extended CSDレジスター のMAX_ENH_SIZE_MULT [159:157]などから求める必要があります。

また、enhanced areaを使用するためには、JEDEC規格に従い、以下のような手順を実行する必要があります。

  1. Initialize transfer stateへの状態遷移
  2. Enhanced mode support有無の確認
  3. CMD6によるExtended CSDの設定
  4. Partition setting[155]による変更完了 Host->Device
  5. Power cycle

pSLC modeに設定する(enhanced areaに変更する)ためには、下記の通りInitializeを完了し、”CMD6″によりExtended CSDの設定のため、データ転送モード(data transfer state)に切り替える必要があります。

図3. Transfer stateへの状態遷移

出典:JEDEC規格 JESD84-B51 Figure 27  e.MMC state diagram (data transfer mode)

[CMD6によるExtended CSD設定変更]
Tran stateに移行した後、”CMD6”にてExtended CSDに書き込みをおこない設定変更する必要があります。
以下、Byte位置に対し、書き込み完了後、Partition setting[155]内bit 0を立ててenhanced modeによるpSLC設定は完了となります。
Power off/on Initialize後Extended CSDに指定した対象領域がenhanced modeとなります。

Command ECSD Byte位置 内容 コメント
CMD6 [139:136] ENH_START_ADDR Sector Addressでの指定
CMD6 [142:140] ENH_SIZE_MULT 実際にEnhanced areaとして設定された容量 Enhanced User Data Area x Size = (ENH_SIZE_MULT_2x216+ENH_SIZE_MULT_1x28+ENH_SIZE_MULT_0x20) x HC_WP_GRP_SIZE x HC_ERASE_GRP_SIZE x 512kBytes
CMD6 [155] PARTITION_SETTING_ COMPLETED Partition設定完了後、bitを立てて通知
CMD6 [156] PARTITIONS_ATTRIBUTE 対象partition
CMD6 [159:157] MAX_ENH_SIZE_MULT Enhanced areaとして使用できる最大容量 Max Enhanced Area = MAX_ENH_SIZE_MULT x HC_WP_GRP_SIZE x HC_ERASE_GRP_SIZE x 512kBytes

*上記ECSDはone timeの書き込みになります。
**Micron Technology社でもテクニカルノートを公開しておりますため、以下URLからダウンロードし参照可能となっております。
https://www.micron.com/-/media/client/global/documents/products/technical-note/emmc/tnfc40_emmc_configuration.pdf

まとめ

e.MMC製品では、通常、MLC NANDやTLC NANDを搭載されていますが、pSLC化して使用することも可能です。これにより、単品のSLC NANDに近い耐久性を実現しながら、e.MMCとしての利点を享受することができます。

以下に、e.MMCのpSLC modeで使用する際の利点などを記載します。

  • 内蔵ControllerでNANDを制御しているため使い勝手が良い
  • NANDの使い方、例えば、enhanced areaに変更して、MLC NAND搭載をpSLC modeで使用することにより、Enduranceの向上が期待できる
  • Micron Technology社製e.MMCはenhanced modeをサポートしている
  • e.MMCのpSLC modeはユーザー様側にてCMD6で設定可能
  • CMD6によるECSDへの書き込みは一度のみ (一度、enhanced areaに設定変更したら、変更できない)

Micron Technology社製e.MMCのラインナップ表

Micron Technologyでは最新のNANDフラッシュを搭載したe.MMC製品を提供しています。
以下のリンクからダウンロードできるラインナップ表では、pSLC(疑似SLC)モードに設定できる最大容量(Max Enhanced Area Size)なども記載されています。
耐久性を重視して、pSLC化して使用することを前提としてe.MMCの選定をする場合にも、有益なラインナップ表となっていますので、ぜひダウンロードしてご活用ください。

製品ラインナップを見る

お問い合わせください

いかがでしたでしょうか。e.MMCにおいて、耐久性を向上させる使用法についてご紹介しました。今回ご紹介したe.MMCやMicron社の製品に関する詳細な情報をお求めの方は、ぜひこちらからお問い合わせください。

お問い合わせはこちらから

参考文献

1)   JESD84-B51(https://www.jedec.org/system/files/docs/JESD84-B51A.pdf)