Назад към всички

macronix

// Macronix International MPN encoding patterns, density decoding, and handler guidance. Use when working with Macronix Flash memory components or MacronixHandler.

$ git log --oneline --stat
stars:2
forks:0
updated:February 24, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namemacronix
descriptionMacronix International MPN encoding patterns, density decoding, and handler guidance. Use when working with Macronix Flash memory components or MacronixHandler.

Macronix International Manufacturer Skill

Overview

Macronix International Co., Ltd. is a Taiwan-based manufacturer specializing in Flash memory ICs. The company produces:

  • Serial NOR Flash (MX25L, MX25U, MX25R, MX25V, MX66L series)
  • Parallel NOR Flash (MX29GL, MX29LV series)
  • SLC NAND Flash (MX30LF series)
  • ROM ICs

Macronix is known for high-reliability Flash memory used in embedded systems, IoT devices, automotive, and industrial applications.


MPN Structure

Macronix MPNs follow this general structure:

Serial NOR Flash (MX25L/U/R/V, MX66L)

MX25 L 6433 F MI - 08 G
│    │ │    │ │    │  │
│    │ │    │ │    │  └── Grade: G=Green/RoHS
│    │ │    │ │    └───── Speed: 08=80MHz, 10=104MHz
│    │ │    │ └────────── Package code (see table below)
│    │ │    └──────────── Feature: F=Fast Read, E=Extended Temp
│    │ └───────────────── Density code (see density decoding)
│    └─────────────────── Series: L=Standard, U=Ultra Low Power, R=Wide Voltage, V=Very Low Voltage
└──────────────────────── Family prefix

Parallel NOR Flash (MX29GL, MX29LV)

MX29 GL 256 F HT 2 I - 90 Q
│    │  │   │ │  │ │   │  │
│    │  │   │ │  │ │   │  └── Qualifier
│    │  │   │ │  │ │   └───── Speed: 90=90ns
│    │  │   │ │  │ └───────── Temperature: I=Industrial
│    │  │   │ │  └─────────── Version: 2=Version 2
│    │  │   │ └────────────── Package: HT=TSOP-48
│    │  │   └──────────────── Feature: F=Fast
│    │  └──────────────────── Density: 256=256Mbit
│    └─────────────────────── Series: GL=High Density, LV=Low Voltage
└──────────────────────────── Family prefix

SLC NAND Flash (MX30LF)

MX30 LF 1G 18 AC
│    │  │  │  │
│    │  │  │  └── Package: AC=TSOP-48
│    │  │  └───── Bus width: 18=x8
│    │  └──────── Density: 1G=1Gbit, 2G=2Gbit
│    └─────────── Series: LF=SLC NAND Flash
└──────────────── Family prefix

Series Reference

Serial NOR Flash

SeriesDescriptionVoltage RangeFeatures
MX25LStandard Serial NOR2.7V-3.6VSPI/QSPI, standard power
MX25UUltra Low Power1.65V-1.95VSPI/QSPI, low power mode
MX25RWide Voltage Range1.65V-3.6VFlexible voltage operation
MX25VVery Low Voltage2.3V-3.6VOptimized for low voltage
MX66LHigh Performance2.7V-3.6VHigh speed, large density

Parallel NOR Flash

SeriesDescriptionVoltageFeatures
MX29GLHigh Density3.3VLarge capacity, burst read
MX29LVLow Voltage3.0VLow power consumption

NAND Flash

SeriesDescriptionTechnology
MX30LFSLC NANDSingle-Level Cell, high endurance

Density Decoding

Serial NOR Flash Density Codes

Macronix serial flash uses a special encoding where the first 2-4 digits represent density:

CodeDensityBytes
6433, 643564 Mbit8 MB
12833, 12835128 Mbit16 MB
25635, 25645256 Mbit32 MB
51235, 51245512 Mbit64 MB
1G1 Gbit128 MB
2G2 Gbit256 MB

Parallel NOR Flash Density Codes

Raw CodeActual DensityNotes
256256 MbitDirect encoding (MX29GL)
128128 MbitDirect encoding (MX29GL)
64064 MbitScaled encoding (MX29LV)
32032 MbitScaled encoding (MX29LV)
16016 MbitScaled encoding (MX29LV)
8008 MbitScaled encoding (MX29LV)

Important: MX29LV series uses scaled encoding (multiply by 0.1 for Mbits), while MX29GL uses direct encoding.


Package Codes

CodePackagePin CountNotes
MISOP-88Standard SOIC, 150mil body
MNDFN-88Dual Flat No-lead
ZIWSON-88Very thin package
SISOIC-88Standard SOIC
SSSOIC-88SOIC variant
DISOIC-1616Wide body SOIC
TITSOP-88Thin Small Outline
BHBGAVariousBall Grid Array
FHFBGAVariousFine-pitch BGA
HTTSOP-4848Parallel flash standard
ACTSOP-4848NAND standard package
ZBWSON-88WSON variant
EBBGAVariousBGA variant
LIWLCSPVariousWafer-Level CSP

Supported Component Types

The MacronixHandler supports:

ComponentType.MEMORY
ComponentType.MEMORY_FLASH

Note: Unlike some handlers, MacronixHandler does not define manufacturer-specific types like MEMORY_FLASH_MACRONIX. Both patterns register to MEMORY and MEMORY_FLASH base types.


Handler Implementation Notes

Package Code Extraction

The handler extracts package codes differently based on the flash family:

Serial NOR (MX25L/U/R/V, MX66L):

  1. Find position of 'F' or 'E' (feature letter)
  2. Extract 2 characters after the feature letter
  3. Map to package name if known, otherwise return empty
// Example: MX25L6433FMI-08G
// F is at index 10, MI is at 11-12
// Returns "SOP-8"

Parallel NOR (MX29GL, MX29LV):

  1. Use regex pattern to find 2-letter code after density
  2. Map to package name
// Example: MX29GL256FHT2I-90Q
// HT follows density and F
// Returns "TSOP-48"

NAND (MX30LF):

  1. Extract last 2 characters before hyphen
  2. Map to package or return raw suffix
// Example: MX30LF1G18AC
// AC is the suffix
// Returns "TSOP-48"

Series Extraction

Returns the family prefix including the series letter:

MPNSeries
MX25L6433FMI-08GMX25L
MX25U12835FMI-10GMX25U
MX66L1G45GMI-10GMX66L
MX29GL256FHT2I-90QMX29GL
MX29LV640EBTI-70QMX29LV
MX30LF1G18ACMX30LF

Density Extraction

The extractDensity() method (Macronix-specific helper) returns the decoded density:

MPNExtracted Density
MX25L6433F64
MX25L12835F128
MX29GL256256
MX29LV64064
MX30LF1G18AC1G

Replacement Logic

isOfficialReplacement() returns true when:

  1. Both parts are in the same series (e.g., both MX25L)
  2. Both parts have the same density

Package and speed differences are acceptable for replacements.


Example MPNs with Full Decoding

MX25L6433FMI-08G

FieldValueMeaning
FamilyMX25Serial NOR Flash
SeriesLStandard voltage (2.7V-3.6V)
Density643364 Mbit
FeatureFFast Read supported
PackageMISOP-8
Speed0880 MHz
GradeGRoHS compliant

MX25L12835FMI-10G

FieldValueMeaning
FamilyMX25Serial NOR Flash
SeriesLStandard voltage
Density12835128 Mbit
FeatureFFast Read
PackageMISOP-8
Speed10104 MHz
GradeGRoHS compliant

MX29GL256FHT2I-90Q

FieldValueMeaning
FamilyMX29Parallel NOR Flash
SeriesGLHigh density 3.3V
Density256256 Mbit
FeatureFFast
PackageHTTSOP-48
Version2Version 2
TempIIndustrial (-40 to +85C)
Speed9090ns access time

MX30LF1G18AC

FieldValueMeaning
FamilyMX30NAND Flash
SeriesLFSLC NAND
Density1G1 Gbit
Bus18x8 data bus
PackageACTSOP-48

Related Files

  • Handler: manufacturers/MacronixHandler.java
  • Memory skill: .claude/skills/memory/SKILL.md
  • Winbond handler (similar memory manufacturer): manufacturers/WinbondHandler.java
  • Component types: MEMORY, MEMORY_FLASH

Learnings & Edge Cases

Density Code Complexity

  • Serial NOR uses complex density encoding (6433 = 64Mb, not 6.4Gb)
  • Parallel NOR LV series uses scaled encoding (640 = 64Mb, 160 = 16Mb)
  • NAND uses explicit Gbit notation (1G, 2G)

Package Code Position Varies

  • Serial NOR: Package comes after feature letter (F or E)
  • Parallel NOR: Package is part of the middle segment
  • NAND: Package is the last 2 characters before hyphen

No Manufacturer-Specific Types

  • Unlike TI (OPAMP_TI) or Winbond (MEMORY_FLASH_WINBOND), Macronix does not have manufacturer-specific ComponentTypes
  • All patterns map to base MEMORY and MEMORY_FLASH types
  • This simplifies matching but loses manufacturer specificity

Speed Grades

  • Serial NOR: -08 = 80MHz, -10 = 104MHz, -12 = 120MHz
  • Parallel NOR: -55 = 55ns, -70 = 70ns, -90 = 90ns

Voltage Series Selection Guide

  • MX25L: Standard applications, 2.7V-3.6V
  • MX25U: Battery-powered, ultra-low power
  • MX25R: Designs needing voltage flexibility
  • MX25V: Legacy 3.3V systems needing lower threshold
  • MX66L: High-performance, large storage needs

Cross-Manufacturer Equivalents

  • MX25L series competes with Winbond W25Q series
  • MX30LF NAND competes with Micron MT29F series
  • Serial NOR from different manufacturers often pin-compatible
<!-- Add new learnings above this line -->