Claude-skill-registry jmicron

JMicron Technology MPN encoding patterns, series identification, and handler guidance. Use when working with storage controller ICs or JMicronHandler.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/jmicron" ~/.claude/skills/majiayu000-claude-skill-registry-jmicron && rm -rf "$T"
manifest: skills/data/jmicron/SKILL.md
source content

JMicron Technology Manufacturer Skill

MPN Structure

JMicron MPNs follow these general structures:

JMS[SERIES][VARIANT][PACKAGE]    (USB-SATA bridges)
JMB[SERIES][VARIANT][PACKAGE]    (PCIe/SATA controllers)
JMF[SERIES][VARIANT][PACKAGE]    (Flash controllers)
JM20[SERIES][VARIANT][PACKAGE]   (Legacy IDE/SATA)
 |     |       |        |
 |     |       |        └── Package code (QFN, LQFP, BGA, etc.)
 |     |       └── Variant letter (optional)
 |     └── 3-digit series number
 └── JMS/JMB/JMF/JM20 prefix

Example Decoding

JMS583-QFN
│  │  │
│  │  └── QFN package
│  └── 583 = USB 3.1 Gen2 to SATA/NVMe bridge
└── JMS = JMicron USB-SATA prefix

JMB585-LQFP
│  │  │
│  │  └── LQFP package
│  └── 585 = 5-port PCIe Gen3 SATA controller
└── JMB = JMicron board controller prefix

Product Series

JMS5xx Series - USB to SATA Bridges

SeriesInterfaceDescription
JMS539USB 3.0USB 3.0 to SATA III bridge
JMS567USB 3.0USB 3.0 to SATA III with UASP
JMS578USB 3.1 Gen1USB 3.1 Gen1 to SATA III
JMS583USB 3.1 Gen2USB 3.1 Gen2 to SATA III/NVMe

JMB5xx Series - PCIe SATA Controllers

SeriesInterfaceDescription
JMB575PCIe5-port SATA 6Gb/s controller
JMB585PCIe Gen35-port SATA 6Gb/s PCIe Gen3 controller

JMB3xx Series - SATA/PATA Controllers

SeriesInterfaceDescription
JMB363PCIeSATA/PATA combo controller
JMB368PCIePATA controller

JMF Series - Flash Controllers

SeriesTypeDescription
JMF60xFlashSSD controller (early gen)
JMF61xFlashSSD controller
JMF66xFlashSSD controller (newer gen)

JM20xxx Series - Legacy Controllers

SeriesInterfaceDescription
JM20330IDE/SATASATA to PATA bridge
JM20337IDE/SATAIDE to SATA bridge

Package Codes

CodePackageNotes
QFNQFNQuad Flat No-Lead
QQFNShort form
LQFPLQFPLow-profile Quad Flat Package
LLQFPShort form
BGABGABall Grid Array
BBGAShort form
TTQFPThin Quad Flat Package

USB Generation by Series

SeriesUSB GenerationNotes
JMS539USB 3.05Gbps
JMS567USB 3.05Gbps, UASP support
JMS578USB 3.1 Gen15Gbps
JMS583USB 3.1 Gen210Gbps

Feature Support Matrix

SeriesUASPNVMePort Count
JMS539NoNo1
JMS567YesNo1
JMS578YesNo1
JMS583YesYes1
JMB575N/ANo5
JMB585N/ANo5
JMB363N/ANo2
JMB368N/ANo2

Handler Implementation Notes

Pattern Matching

// JMS5xx series - USB to SATA bridge controllers
"^JMS5[0-9]{2}[A-Z]*.*"

// JMB5xx series - PCIe SATA/NVMe controllers
"^JMB5[0-9]{2}[A-Z]*.*"

// JMB3xx series - SATA port multiplier/host controllers
"^JMB3[0-9]{2}[A-Z]*.*"

// JMF series - Flash memory controllers
"^JMF[0-9]+[A-Z]*.*"

// JMB4xx series - USB bridge controllers (legacy)
"^JMB4[0-9]{2}[A-Z]*.*"

// JM20xxx series - IDE/SATA controllers (legacy)
"^JM20[0-9]{3}[A-Z]*.*"

Series Extraction

// JMS/JMB series: prefix + 3 digits = 6 characters
// JMS583 -> JMS583
// JMB585 -> JMB585

if (upperMpn.matches("^JMS5[0-9]{2}.*")) {
    return upperMpn.substring(0, 6);
}

// JMF series: variable length digits
// JMF612 -> JMF612
// JMF667 -> JMF667

// JM20xxx series: 7 characters
// JM20330 -> JM20330

Package Code Extraction

// Check hyphenated package codes first
// JMS583-QFN -> QFN

// Then check trailing letters after digits
// JMS583Q -> QFN (Q maps to QFN)

Replacement Compatibility

USB-SATA Bridge Upgrade Path

Higher generation can replace lower:

  • JMS567 can replace JMS539 (adds UASP)
  • JMS578 can replace JMS567 (USB 3.1 Gen1)
  • JMS583 can replace JMS578 (USB 3.1 Gen2, adds NVMe)

Level hierarchy:

JMS539 (Level 1) < JMS567 (Level 2) < JMS578 (Level 3) < JMS583 (Level 4)

PCIe SATA Controllers

  • JMB585 can replace JMB575 (newer, PCIe Gen3)

Non-Interchangeable

  • JMS5xx (USB bridges) NOT compatible with JMB5xx (PCIe controllers)
  • Different interface types cannot be swapped

Common Applications

SeriesApplication
JMS539/567/578/583External USB hard drive enclosures
JMB575/585Multi-drive SATA expansion cards
JMB363Motherboard SATA+PATA combo
JMF seriesSSD/Flash drive controllers

Related Files

  • Handler:
    manufacturers/JMicronHandler.java
  • Component types:
    ComponentType.IC

Learnings & Edge Cases

  • JMS583 is unique for NVMe support: Only USB-SATA bridge that supports NVMe
  • UASP support important for performance: JMS567+ support UASP for better performance
  • Prefix indicates interface type: JMS = USB, JMB = PCIe board controller, JMF = Flash
  • 5-port controllers: JMB575/585 are specifically 5-port SATA controllers
  • Legacy JM20xxx series: Still found in older devices, uses 7-character part numbers
  • Variable digit length in JMF: JMF series uses variable-length numeric suffixes
<!-- Add new learnings above this line -->