Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Introduction Technical Note e·MMC Memory Device Health Report Introduction This technical note describes the Device Health Report procedure for Micron e·MMC™ memory devices. NAND cells are stressed by the continuous use of e·MMC devices. Therefore, it is important to understand how e·MMC usage affects the device and device data. The Device Health Report is a resource that enables customers to monitor a device's media usage and the length of time the device can be cycled. The devices that apply to this technical note are listed in the table below: Table 1: e·MMC Devices Density (e·MMC) Density (LPDDR) NAND Information (Die x Litography x Cell Type) e·MMC Controller PRV PNM MTFC4GACAAEA-WT 4GB – 1 x 20nm MLC PS8210 1.2 P1J54A MTFC8GACAAEA-WT 8GB – 2 x 20nm MLC MT29PZZZ4D4BKESK-18 W.94H 4GB 4Gb 1 x 20nm MLC MT29PZZZ8D5BKFTF-18 W.95L 8GB 8Gb 2 x 20nm MLC MT29TZZZ8D4BKFRL-125 W.94K 4GB 8Gb 1 x 20nm MLC MT29PZZZ8D4BKFSK-18 W.94L 4GB 8Gb 1 x 20nm MLC MT29TZZZ8D5BKFAH-125 W.95K 8GB 8Gb 2 x 20nm MLC MT29TZZZ4D4BKERL-125 W.94M 4GB 4Gb 1 x 20nm MLC Part Number PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 1 P1J55A PS8210 1.2 P1J94H PS8210 1.2 P1J94K P1J95L P1J94L PS8210 1.2 P1J95K P1J94M Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Products and specifications discussed herein are subject to change by Micron without notice. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Device Health Report Device Health Report JEDEC introduced the Device Health Report in e·MMC version 5.0. The Device Health Report enables customers to monitor their device's media usage for the purpose of determining the device's lifetime. Micron has extended this feature to the devices mentioned in this technical note, regardless of their e·MMC version. Table 2: Device Health Report ECSD Fields ECSD Field Description 267 PRE_EOL_INFO Indicates the device lifetime reflected by average reserved blocks DEVICE_LIFE_TIME_EST_TYP_A Indicates the estimation of the device lifetime that is reflected by the averaged wear out of SLC areas relative to its maximum estimated device lifetime DEVICE_LIFE_TIME_EST_TYP_B Indicates the estimation of the device lifetime which is reflected by the averaged wear out of MLC areas relative to its maximum estimated device lifetime 268 269 Pre-EOL Information Value: PRE_EOL_INFO ECSD[267] PRE_EOL_INFO indicates the device lifetime that is reflected by average reserved blocks. Table 3: Pre-EOL Information Value Value Pre-EOL Information Description 00h Not defined – 01h Normal Normal 02h Warning Consumed 80% of the reserved block 03h Urgent Consumed 90% of the reserved block All other values Reserved – Device Lifetime Estimation Value: DEVICE_LIFE_TIME_EST ECSD[268] and ECSD[269] provide an estimate of the device lifetime, reflected by the average wear out of memory in SLC and MLC areas, relative to their maximum estimated device lifetime. Table 4: Device Lifetime Estimation Value Value Description 00h Not defined 01h 0% to 10% of device lifetime used 02h 10% to 20% of device lifetime used 03h 20% to 30% of device lifetime used 04h 30% to 40% of device lifetime used 05h 40% to 50% of device lifetime used PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 2 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Device Health Report Table 4: Device Lifetime Estimation Value (Continued) Value Description 06h 50% to 60% of device lifetime used 07h 60% to 70% of device lifetime used 08h 70% to 80% of device lifetime used 09h 80% to 90% of device lifetime used 0Ah 90% to 100% of device lifetime used 0Bh Exceeded the maximum estimated device lifetime All other values Reserved PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 3 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Additional Device Health Commands Additional Device Health Commands Micron offers an additional set of commands that go beyond the JEDEC Device Health Report. These additional DEVICE HEALTH commands are implemented using the generic CMD56 command and they return a significant amount of useful information about the status of the NAND device, including the following: • Bad block counters: Initial bad block count, run-time bad block count, and remaining spare block count • Block erase counters: Minimum, maximum, average, and total of block erase events in the MLC and SLC areas This information can be retrieved issuing a unique CMD56 GEN_CMD. The DEVICE HEALTH command can be issued multiple times during the same power-on cycle. The Micron specific command argument and response format ensure access to device health information. Figure 1: Device Health Command Flowchart Start CMD16: SET_BLOCKLEN Block length = 512 bytes CMD56: GEN_CMD Argument [31:0] 512 bytes Returns device data PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 4 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Additional Device Health Commands Table 5: CMD56 Command Set Bit [0] [7:1] Description Read/Write (R/W): Indicates read mode when the bit is set (1) or write mode when the bit is cleared (0). Depending on the function, either read mode or write mode can be used. Index = 00h: Firmware (F/W) message authentication code (MAC) signature check Index = 1000b: Initial, run-time bad block, and remaining spare blocks count Index = 10000b: MIN/MAX/AVG erase count Index = 10001b: MIN/MAX/AVG erase count in the MLC area Index = 10010b: MIN/MAX/AVG erase count in the SLC area Index = 1000000b: Bad block information Index = 1000001b: Total number of block erase count tables Index = 1000010b: Block erase count retrieve Index = 1000011b: Block address type retrieve Index = 1010011: Buffer blocks refresh [15:8] Function argument #1 (1 byte) [23:16] Function argument #2 (1 byte) [31:24] Reserved PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 5 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Additional Device Health Commands BAD BLOCK COUNTERS Command The BAD BLOCK COUNTERS command indicates the total number of bad blocks (initial and later bad blocks) in the device. The BAD BLOCK COUNTERS command also retrieves the total number of remaining spare blocks that allow the bad blocks to be remapped in the device. Table 6: BAD BLOCK COUNTERS Command CMD56 Argument Description Bit[0] = 1b (read mode) Bit[7:1] = 0001000b (CMD index) All other bits = 0 Byte[0]: Initial bad block count (MSB) Byte[1]: Initial bad block count (LSB) Byte[2]: Run time bad block count (MSB) Byte[3]: Run time bad block count (LSB) Byte[4]: Remaining spare block count (MSB) Byte[5]: Remaining spare block count (LSB) Byte[511–6]: Don't care Table 7: BAD BLOCK COUNTERS Command Response Example Response Data (512 bytes) Description Initial bad block count = 1h (1 block) Byte [5:0] = F100 0200 0100 Run-time bad block count = 2h (2 blocks) Remaining spare block count = F1h (241 blocks) PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 6 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Additional Device Health Commands BAD BLOCK DETAIL INFORMATION Command In addition to the BAD BLOCK COUNTERS command, the BAD BLOCK DETAIL INFORMATION command retrieves information about the NAND bad blocks and the related fail information. Table 8: BAD BLOCK DETAIL INFORMATION Command CMD56 Argument Bit[0] = 1(read mode) Bit[7:1] = 1000000 (CMD index) Bit[15:8] = Die number1 Bit[23:16] = table number2 All other bits = 0 BAD BLOCK DETAIL INFORMATION Byte[1:0]: Physical bad block address record Byte[3:2]: Failed page address record Byte[4]: Fail information3 Byte[5]: Failed bus4 Byte[7:6]: Reserved Byte[511–6]: Don't care Notes: 1. The die number field ([15:8]) indicates the NAND die where the bad block information is retrieved. 2. The bad block information for each NAND is stored in one array of 250 elements, each is 8 bytes. This array is divided by four and the tables are addressed by the table number field ([23:16]). 3. 01h or 10h = Erase failed, 02h or 11h = Program failed 4. 01h = Block located in the low bus, 02h = Block located in the high bus Table 9: BAD BLOCK DETAIL INFORMATION Command Response Example Response Data (512 bytes) Byte [7:0] = 00 00 01 02 05 00 B3 01 Description Physical bad block address record = B301h (435 address) Failed page address record = 5000h (80 page) Fail information = 02h (Program fail) Failed bus = 01h (Low bus) [7:6] = Reserved Byte [15:8] = 00 00 00 00 00 00 00 00 PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN All 8-byte entries containing 00h values indicate the end of the bad block list for the related NAND die 7 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Additional Device Health Commands BLOCK ERASE COUNTERS Command The BLOCK ERASE COUNTERS command returns the minimum, maximum, and average total of block erases in the MLC and the SLC areas. Table 10: BLOCK ERASE COUNTERS Command CMD56 Argument Block Erase Count Bit[0] = 1 (read mode) Bit[7:1] = 10000 (CMD index) for the total erase count Bit[7:1] = 10001 (CMD index) for the total erase count MLC area Bit[7:1] = 10010 (CMD index) for the total erase count SLC area All other bits = 0 Byte[0]: Minimum block erase (MSB) Byte[1]: Minimum block erase (LSB) Byte[2]: Maximum block erase (MSB) Byte[3]: Maximum block erase (LSB) Byte[4]: Average block erase (MSB) Byte[5]: Average block erase (LSB) Byte[511–6]: Don't care Table 11: BLOCK ERASE COUNTERS Command Response Example – [7:1] = 10001 Response Data (512 bytes) Byte [5:0] = FF 00 57 01 64 00 Description Minimum MLC block erase = 00000064h (100) Maximum MLC block erase = 00000157h (343) Average MLC block erase = 000000FFh (256) PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 8 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Additional Device Health Commands BLOCK ERASE COUNT RETRIEVE Command Because the general CMD56 command is only used to transfer/retrieve a single block of data, obtaining the erase count of each block is divided into two steps: 1. Retrieve the total number of block erase count tables (1 sector/table) to determine how many times step 2 must be issued. 2. Retrieve one block erase count table (1 sector/table). Table 12: Step 1 of BLOCK ERASE COUNT RETRIEVE Command Format – Retrieving the Erase Count of Each Block CMD56 Argument Bit[0] = 1 (read mode) Bit[7:1] = 100 0001 (CMD index) All other bits = 0 Expected Data Byte[0]: Total number of block erase count tables Byte[511–1]: Don't care Table 13: Step 2 of BLOCK ERASE COUNT RETRIEVE Command Format – Retrieving the Erase Count of Each Block CMD56 Argument Bit[0] = 1 (read mode) Bit[7:1] = 100 0010 (CMD index) Bit[15:8] = table index All other bits = 0 Expected Data Byte[1–0] - Physical Block address 1 Byte[3–2] - Physical Block address 2 ⋮ Byte[255–254] - Physical Block address 128 Byte[257–256] - Erase count of Physical Block address 1 Byte[259–258] - Erase count of Physical Block address 2 ⋮ Byte[511–510] - Erase count of Physical Block address 128 Table 14: Step 2 of BLOCK ERASE COUNT RETRIEVE Command Response Example – CMD index [7:1] = 100 0010 Response data (512 bytes) Description Byte Byte ⋮ Byte Byte Physical block address 1 = 01A3h (419) Erase count of physical block address 1 = 0040h (64) Physical block address 2 = 0F80h (3968) Erase count of Physical Block address 2 = 0043h (67) [1:0] = A301h [3:2] = 80F0h [257:256] = 4000h [259:258] = 4300h PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 9 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Additional Device Health Commands BLOCK ADDRESS TYPE RETRIEVE Command The BLOCK ADDRESS TYPE RETRIEVE command is divided into two steps: 1. Retrieve the total number of block address type tables (1 sector/table) to determine how many times step 2 must be issued. 2. Retrieve one block address type table (1 sector/table). Step 1 of the BLOCK ADDRESS TYPE RETRIEVE command has the same command format as step 1 of the BLOCK ERASE COUNT RETRIEVE command. (Refer to Table 12 for the format of the BLOCK ERASE COUNT RETRIEVE command.) The total number of block address type tables and block erase count tables is identical. Table 15: Step 2 of BLOCK ADDRESS TYPE RETRIEVE Command Format CMD56 Argument Expected Data Bit[0] = 1 (read mode) Bit[7:1] = 100 0011 (CMD index) Bit[15:8] = Table index All other bits = 0 Byte[1-0]: Physical block address 1 Byte[3-2]: Physical block address 2 ⋮ Byte[255-254]: Physical block address 128 Byte[257-256]: Physical block address 1 type Byte[259-258]: Physical block address 2 type ⋮ Byte[511-510]: Physical block address 128 type Table 16: BLOCK ADDRESS TYPE RETRIEVE Command Response Example – CMD index Bit [7:1] = 100 0011 Response data (512 bytes) Description Byte[1:0] = A301h Byte[3:2] = 80F0h ⋮ Byte[257:256] = 0000h Byte[259:258] = 0001h Physical block address = 01A3h (419) Physical block address = 0000h (MLC) Physical block address = 0F80h (3968) Erase count of physical block address = 0001h (SLC) PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 10 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Appendix A: ECSD Registers Appendix A: ECSD Registers The JEDEC e·MMC 5.0 ECSD registers in the following table are enabled for the e·MMC devices mentioned in this technical note. These registers are added to the ECSD registers listed in the e·MMC 4.51 datasheet on Micron's web site. Table 17: ECSD Registers ECSD Field Value [16] SECURE_REMOVAL_TYPE 00h [17] PRODUCT_STATE_AWARENESS_ENABLEMENT 01h [21:18] MAX_PRE_LOADING_DATA_SIZE [25:22] PRE_LOADING_DATA_SIZE 00000000h [26] FFU_STATUS 00h [29] MODE_OPERATION_CODES 00h [30] MODE_CONFIG 00h [133] PRODUCTION_STATE_AWARENESS 00h [216] SLEEP_NOTIFICATION_TIME 0Fh [218] PRODUCTION_STATE_AWARENESS_TIMEOUT 0Fh [253] PWR_CL_DDR_200_360 00h [261:254] FIRMWARE_VERSION 00000000000000ABh [263:262] DEVICE_VERSION 00h [264] OPTIMAL_TRIM_UNIT_SIZE 01h [265] OPTIMAL_WRITE_SIZE 04h [266] OPTIMAL_READ_SIZE 01h [267] PRE_EOL_INFO 01h [268] DEVICE_LIFE_TIME_EST_TYP_A 01h [269] DEVICE_LIFE_TIME_EST_TYP_B 01h [301:270] VENDOR_PROPRIETARY_HEALTH_REPORT [490:487] FFU_ARG 00000000h [491] OPERATION_CODE_TIMEOUT 00h [492] FFU_FEATURES 00h [493] SUPPORTED_MODES 03h [505] EXT_SECURITY_ERR 00h PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 11 4GB 003A6000h 8GB 0074C000h Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved. Micron Confidential and Proprietary TN-FC-32: e·MMC Device Health Report Revision History Revision History Rev. B – 12/14 • Changed title of Table 2. • Added a title to better identify the Additional Device Health commands section. • Removed reference to Cycling and Firmware information in the Additional Device Health commands section. Rev. A – 7/14 • Initial release 8000 S. Federal Way, P.O. Box 6, Boise, ID 83707-0006, Tel: 208-368-4000 www.micron.com/products/support Sales inquiries: 800-932-4992 Micron and the Micron logo are trademarks of Micron Technology, Inc. All other trademarks are the property of their respective owners. This data sheet contains minimum and maximum limits specified over the power supply and temperature range set forth herein. Although considered final, these specifications are subject to change, as further product development and data characterization sometimes occur. PDF: 09005aef85b01cbe tnfc32_dev_health_report.pdf - Rev. B 12/14 EN 12 Micron Technology, Inc. reserves the right to change products or specifications without notice. © 2014 Micron Technology, Inc. All rights reserved.