[20150828] r1.00.095.014
1. Improve performance for HDTune test.
2. Fixed lower read performance issue.
3. Support SDK SANDISKLT008G(BGA package but run Toggle1.0 only) & SDTNPACHEMXXX(TSOP package but run Legacy only)
--------------------------------------------------------------------------
[20150813] r1.00.095.012
1. Update Flash.ini for TSB 15nm NAND Flash.
2. Add BIN files for TSB 15nm NAND Flash.
--------------------------------------------------------------------------
[20150806] r1.00.095.012
1. Add SMART attribute 0xA3 to display the total number of early bad block.
2. Add bar code checkbox in MPT.
3. Modify SMART attribute 0xC7 to display SATA error count, but without ATA command abort. And add "EnHuatoopSmartC7" in JMMPTOOL.ini to decide whether display this value or not.
4. Add SMART attribute 0xA8to display SATA error count, but without ATA command abort.
--------------------------------------------------------------------------
[20150728] r1.00.095.011
1. Improve performance drop issue.
2. Add SMART attribute 0xC3 to count the total number of HWReadRetry & FWShiftReadRetry.
--------------------------------------------------------------------------
[20150618] r1.00.095.007
1. Change F/W interface version 3 value as 4 due to CMT size changed.
2. Support TSB 15nm NAND Flash.
3. Support Hynix 20nm Multi-Lun.
4. Modify Hynix flash naming rule.
5. Fix check pair page message.
6. Support SDK 19nm type C NAND Flash.
7. Support Hynix 20nm A-Die NAND Flash.
8. Support SDK A19 NAND Flash.
9. Aadd new flag to keep remap table.
10. support SMART ID 0xC7 and remove 0xA8.
11. Fixed wrong bad block number while occurred C03 Fail by MPT.
12. Display bad block number of SMART ID 0x05 which is without CH sync.
13. Add keep PFormat setting function.
14. Modify FW bin file naming rule for shift read mode.
--------------------------------------------------------------------------
[20150408] r1.00.094.032
1. Modify to vFlashReadRctPost for Mircon MultiLun that improve performace of interleave.
2. To avoid FW has no chance to do merge when the test only enables FW to update SYSInfo.
3. Add new vendor command. (0x27, SATA_CMD_GET_PAIR_PAGE_TABLE, for sorting use)
4. Modify check flash interface's behavior.
 - Check flash interface = Check SB + Check flash reset +Check flash data path + Check ECC engine
5. Fix a remap bug. 
 - On an unexpect case, remap will be incomplete. So we add a condition to fix it.   
6. Fix check pair page behavior. 
 - Auto detect shouldn't do check pair page.
 - Check flash module will do check pair page.
 - SLC doesn't do check pair page.
7. Add SPI flash AT25DF512C to support list.
8. Remove redundancy space before SN in log.
9. Remove unnecessary LoadGDP.
10. Add check sorting result.
--------------------------------------------------------------------------
[20150210] r1.00.094.024
1. Fixed a bug for power loss fail. 
2. Fixed bug of device sleep fail if resume from device sleep.
3. Modify device sleep that only slumber state can enter device sleep. 
4. Fixed NBT data miscompart issue in some corner case.
5. Fixed SMART self-test issue.
6. Add 6th ID for flash auto-detect.
7. Fixed flash module test fail with 6th ID.
8. Add error code(M01) for check pair-page table fail.
9. Set default value of EnCheckPairPage to 1. 
10. Modify pair-page table 7.
11. Fixed NTFS detection method for GUID Partition Table.
12. Add new naming rule for Sandisk MLC two-plan dual page with shift-read.
13. Add new method to detect CH/BK and report more info to MPT.
14. Add Hynix 20nm support.
15. Fix bug of GPIO6 ISR event not be triggered.
16. Skip wFtlMergeReqGC request DBMT block if DBMT block < 4.
--------------------------------------------------------------------------
[20141216] r1.00.094.012
1. Improve WAI.
2. Improve table flush efficiency for no free block issue.
3. Shorten the boot time after abnormal power cycling test.
4. Improve command response time.
5. For SLC NAND Flash, fix system can not wake up, data mis-compare,¡Ketc. issues after abnormal power cycling test.
6. The older firmware version, such as r93, r92 or eariler, can not download microcode by Windows updater due to r94 firmware with a new interface.
7. Fix Read Flash ID abnormal issue.
8. Add panel auto-alignment function in MP tool.
9. Support SLC 4KB page NAND Flaash.
10. Improve TSB Toggle 2.0 SLC NAND Flaash.
11. Add suggestion OP percentage into NAND Flash Support List.
12. Fix new remap issue.
--------------------------------------------------------------------------
[20141113] r1.00.093.029
1. Improve WAI.
2. Improve table flush efficiency for no free block issue.
3. Add ProgramFail and EraseFail for check RDT result.
4. Extend pair page index from 48 to 64 for 4KB page flash.
5. Fix wrong LBA value after checking tables.
6. Add new naming rule for SanDisk A19 two-planes flash.
7. Add new naming rule for 4-Die flash.
8. Add new naming rule for Toshiba A19 one-plane flash.
9. Support
 1) Micron 25nm MLC L74A multi-LUN NAND Flash
 2) TSB TSB 1Ynm one-plane NAND Flash
 3) TSB 24nm MLC NAND Flash
 4) TSB 19nm Type A NAND Flash
 5) 4-LUN NAND Flash
--------------------------------------------------------------------------
[20140911] r1.00.092.042
1. Fine tune the parameter of WL & GC for reduce WAI value, that is, enhance SSD¡¦s product life.
2. Add read Flash ID function.
3. Modify Pair-Page 2¡¦s table.
4. Use FW IDEMA formula to calculate SSD capacity.
5. Fix bug of GDP that loader block information may be incorrect.
6. Modify extend block number of TSB A19 NAND flash.
7. For TSB A19 NAND Flash, below is JMicron's suggestion but it depends on layout quality, and customers MUST do the verification test by themselves before mass production, to judge whether the drive current setting is correct for their PCBA or not.
 1) TSOP package_Toggle1.0 : set to 10mA for all capacity.
 2) BGA package_Toggle2.0 : 
  >> LUN = 1
   -> 1CE, 10mA
„« -> 2CE, 10mA
„« -> 4CE, 12mA
  >> LUN = 2 (multi-LUN)
„« -> 1CE, 10mA
„« -> 2CE, 12mA
„« -> 4CE, 14mA
--------------------------------------------------------------------------
[20140812] r1.00.092.037
1. Fixed some issues that occurred on A19 NAND Flash only.
2. Fixed system can not wake up issue if running S4 + Burn-In Test.
3. Fixed system busy issue on some ATOM platforms with ONFi 2.2/2.3 NAND Flash.
4. First release system firmware to support Intel/Micron multi-LUN NAND Flash, please refer to ¡§JMF608&JMF609_NAND Flash support list_ver 0.8_REV092.37¡¨ this document to know which NAND Flash types we have tested in our lab.
5. Add pair-page table 10 for Intel L84C and Intel L85C, and modify the incorrect table for these two types of NAND Flash in Flash.ini of MP tool folder. About pair-page table 10, please use ver.41 MP tool application and later version.
6. Fixed MP tool displayed wrong Max Capacity issue.
--------------------------------------------------------------------------
[20140613] r1.00.092.011
1. Abnormal power cycle Enhancement.
2. Fixed a bug of out of free block in multi-CE mode.
3. Fixed R/W Test fail issue if using TSB 19nm B multi-LUN NAND Flash.
4. For TSB A19 NAND Flash, please adjust Driving Current value for different capacity due to its I/O driving is different from TSB 19nm C.
 ex. The Driving Current value of A19 128GB capacity should set to 10mA.
5. [Suggestion] For I/M L84C, the OP(=ResPercentage) sets to 12.6% is better than 6.8% due to it's only 512 blocks per plane, less than half of L85A and more free blocks would enhance SSD's reliability and life cycle.
6. Support more NAND Flash type,
 (1) TSB 19nm B multi-LUN NAND Flash
 (2) TSB 1Ynm A19 (Toggle 2.0_BGA)
 (3) TSB 24nm SLC (Toggle 2.0_BGA)
 (4) Micron 25nm MLC L74A
7. Add SMART (0xE7)¡VSSD Remaining Life.
8. Add SMART (0xB4)¡VSpare Blocks Remaining.
---------------------------------------------------------------------------
[20140513] r1.00.091.011
1. SMART ID 0xA6 Bad Block Calculation.
2. Fix v091.009 with 19B and L84A  burn-in test issue.
---------------------------------------------------------------------------
[20140509] r1.00.091.009
1. Enhance Read performance for multiple CE.
2. FW supports MPTOOL to adjust Flash IO Driving. (Controller, and SetFeature of NAND)
3. Check Customer ID first for protect FW update application.
4. Fixed SMART ID 0xA6 reports wrong value issue.
5. Device Sleep function can be enabled or disabled only when EnSPI=1. 
 >> Please add this parameter "EnDeviceSleep=1" or "EnDeviceSleep=0" in [FwSetting] of JMMPTOOL.ini,
    to choose whether enable DEVSLP function or not. 
6. Compare real part number of parameter table of Intel/Micron NAND Flash with the part number in Flash.ini.
 >> If you want to disable this function, please add this parameter "EnGetFlashParamTab=0" in [FwSetting] of JMMPTOOL.ini.
7. Enable Thermal Sensor function, please add "ThermalSensorType=n", n can be 0, 1 or 2, in [FwSetting] of JMMPTOOL.ini.
 >> ThermalSensorType=0 means thermal sensor function is disabled. (Default setting)
 >> ThermalSensorType=1 means support SII_S5851.
 >> ThermalSensorType=2 means support TI_LM75A.
  (JMF608/609 support above two types of thermal sensor IC.
   If you want to support other thermal sensor IC, please provide its Datasheet and send samples to us for FW modification.)
8. Change this parameter "WriteProtectAbort" from 0 to 1 as default setting.
[WriteProtectAbort=1]
ÀuÂI¡G¶i¤JWrite Protect«á, FW·|Abort©Ò¦³SATA Write Command, ¨Ï¥ÎªÌ·|¥ß§Y¹îÄ±SSD¦³°ÝÃD, ¤£·|Ä~Äò¦AWrite Protect¼Ò¦¡¾Þ§@SSD.
¯ÊÂI¡G¤W¹q«á, Åª¤£¨ìSSD partition, ¥²¶·¨Ï¥Î¨ä¥L±Ï´©µ{¦¡¤~¥i¥H§âºÏºÐ¸ê®Æcopy¥X¨Ó.
Note: Windows¤@¶}©l·|¹Á¸Õ¼g¤J, ÅªºÐ·|¥d¦b³o¤@Ãö.
[WriteProtectAbort=0]
ÀuÂI¡G¶i¤JWrite Protect«á, FW¥i¥H±µ¨üWrite Command, ¤W¹q«á, ¨Ï¥ÎªÌ¥i¥H¦bWindowsÀÉ®×ºÞ²z¨t²Î¤¤Åª¥X»P³Æ¥÷SSD¤W©Ò¦³¸ê®Æ.
¯ÊÂI¡GWrite Protect·í¤U, ¨Ï¥ÎªÌµLªk¥ß§Y¹îÄ±SSD¦³°ÝÃD, µ¥¨ì­«·s¤W¹q¤~µo²{, ³o®É­Ô¨Ï¥ÎªÌ¥i¯à¤w¸g¼g¤F¤@°ï¸ê®Æ, ³y¦¨ÄY­«ªº¸ê®Æ·l¥¢.
9. Support more NAND Flash type,
 (1) Toshiba Multi-LUN NAND Flash
 (2) Toshiba 1Ynm MLC A19
 (3) Toshiba 24nm SLC
 (4) Intel/Micron 20nm MLC L85C
 (5) Intel 25nm MLC L74A
---------------------------------------------------------------------------
[20140331] r1.00.090.005
1. Change FTL parameter for WinXP out of free block issue.
2. Fix Page Read bug for WinXP.
3. Add Error Handle case for WinXP.
4. Add Error Handle case of UNC block refresh.
5. Enhance random read performance (10%).
6. Modify Download microcode Command 92-07 processing for Linux updater.
7. Fix later bad block insertion issue.
8. Add an UNC record for page read path while occurring ECC fail.
9. Fix a FW typo bug in ECC fail error handle.
---------------------------------------------------------------------------
[20140310] r1.00.090
1. Add ResPercentage and DefPercentage judgment function.
2. Add SPI judgment function.
3. Disable DrvCurrent component.
4. Fixed LBB can not be increased if the value is up to 16 block unit.
---------------------------------------------------------------------------
[20140227] r1.00.089
JMMPTOOL.ini·s¼W¨â­Ó°Ñ¼Æ³]©w¡G
1. EnSPI¡G¶}ÃöSPI¥\¯à, default³]¬°0, ¥ç§YÃö³¬, ¦pªGªO¤l¦³¤WSPI, ½Ð±N¦¹°Ñ¼Æ³]¬°1 (MP Tool A.2.03.031¥H«á¤ä´©)
2. SPI_IPC_Config¡G¦¹°Ñ¼Æ³QÁôÂÃ, ¦pªG­n¶}±Ò³o­Ó¥\¯à, ½Ð¦Û¦æ¦bEnSPI¤U¤è¥[¤J³o¦æ°Ñ¼Æ,
   ³]©wSPI IPC Config value, default¬°0, ¥ç§YÃö³¬ (MP Tool A.2.03.031¥H«á¤ä´©)
---------------------------------------------------------------------------
1. SPI include below functions¡G
  a. Device Sleep on/off.
  b. Quick Erase/Hardware Write Protect Function on/off for IPC application.
  c. Write Protect Flag.
  d. UART log.
2. Device Sleep function working conditions¡G
  a. Host must support this IO and F/W receive ATA SetFeature command.
  b. SPI present
3. Standard F/W already support IPC Quick Erase/Write Protect feature and IO pin define were GPIO15 and GPIO8, H/W must pull-high, active low.
   Start IPC feature settimg:
  a. In JMMPTOOL.ini, EnSPI=1 and SPI_IPC_Config=1(for JMF608) ©Î SPI_IPC_Config=2(for JMF609).
  b. If EnSPI=1, MPTOOL will initial SPI, if PCBA no SPI, MP tool will show Download Fail. 
  c. In JMMPTOOL.ini, SPI_IPC_Config=1 mp tool will initial SPI, F/W will check GPIO15, GPIO8.
  d. In JMMPTOOL.ini, SPI_IPC_Config=2 mp tool will initial SPI, F/W will check GPIO8. (JMF609 without GPIO15, only GPIO8, just have Hardware Write Protect Function)