fdnext is a one-stop parsing solution for memory chips. It covers memory-chip part-number parsing, NAND Flash ID decoding through the typed identifier API, managed NAND and DRAM PN decoding, bundled data resources, HTTP and CLI access, result contract checks, and FDB / MDB maintenance tooling.
The project is organized as a strict TypeScript monorepo, but its public goal is the memory-chip parsing workflow: identify the device, normalize the result, enrich it with local resources, expose it through SDK / server / CLI entrypoints, and keep the underlying data reproducible.
- Memory-chip PN and typed identifier parsing through
@itxtech/fdnext-core - JSON DSL rule packs for PN and identifier decoders through
@itxtech/fdnext-dsl - Embedded
fdb,mdb, language packs, managed NAND PN suggestions, DRAM PN suggestions, and Micron FBGA code resources - Managed NAND and DRAM PN decoding coverage with vendor-specific token rules
- Micron FBGA lookup support through the unified
mdb.jsonresource flow - Hapi-based HTTP server with part, identifier, and capabilities endpoints
- CLI commands for part decode/search, identifier decode/search, and capabilities workflows
- TypeScript FDB generator with raw FlashDB cleanup, vendor remapping, controller aggregation, and MDB crawling helpers
- Result-schema and behavior contract tests for the public fdnext API
| Area | Product families | Currently covered vendors |
|---|---|---|
| NAND PN | Raw NAND, eMMC, UFS, eMCP/uMCP, E2NAND | Samsung, SK hynix, SanDisk / Western Digital, KIOXIA, Micron, YMTC, Kingston, Longsys, BIWIN |
| DRAM PN | DRAM part-number families covered by current rule packs, including density, generation, package, die stack, speed, revision, and temperature fields where inferable | Micron, Crucial, SK hynix, Samsung, Nanya, Elpida, CXMT |
| Package | Purpose |
|---|---|
@itxtech/fdnext-core |
Decode/search engine, public SDK types, resource loading helpers, and operation pipeline |
@itxtech/fdnext-dsl |
JSON DSL rule packs and PN / identifier compiler |
@itxtech/fdnext-resources |
Publishable embedded data resources |
@itxtech/fdnext-server |
Hapi HTTP server |
@itxtech/fdnext-cli |
Command-line interface |
@itxtech/fdnext-fdbgen |
FDB/MDB generation and crawl tools |
@itxtech/fdnext-contract-test |
Result contract checks |
- Node.js
>= 24 pnpmas declared bypackageManagerinpackage.json
pnpm install
pnpm build
pnpm testREADME only provides the project overview. The unified documentation index is docs/README.md; integration, runtime, and maintenance usage lives under docs/:
- Integration guide for SDK, browser, HTTP server, deployment, and endpoint usage
- FDBGen documentation for FDB generation, MDB crawling, input layouts, cleanup rules, and crawler behavior
- DSL specification for PN and typed identifier rule authoring
- PN code reference index for vendor/product-line references
- PN reference confidence policy for rule admission and source confidence
- Cross-vendor terminology for canonical public field keys
PN rules are intentionally data-driven. New decoding coverage should be added as structured JSON DSL packs, not as complete PN allowlists.
Useful locations:
packages/dsl/src/rules/packs/for PN DSL packspackages/dsl/src/identifier/packs/for typed identifier DSL packs such as NAND Flash IDpackages/dsl/src/rules/default-rules.tsfor PN pack registrationpackages/dsl/src/identifier/default-rules.tsfor identifier pack registrationpackages/dsl/test/managed-nand.test.ts,packages/dsl/test/dram.test.ts, andpackages/dsl/test/metadata-audit.test.tsfor rule validationpackages/resources/resources/lang/eng.jsonandpackages/resources/resources/lang/chs.jsonfor user-visible metadata labelsdocs/pn_code/for PN reference notes and confidence policy
When adding or renaming public fields, update the DSL sources, language packs, tests, and documentation together. Maintenance metadata such as source confidence should stay inside DSL-internal metadata or documentation and must not leak into public result fields.
Focused checks:
pnpm -C packages/dsl test
pnpm -C packages/dsl typecheck
pnpm -C packages/resources typecheck
git diff --checkFull repo checks:
pnpm test
pnpm typecheck
pnpm contract:checkThe normal test suite validates the fdnext result schema, operation behavior, DSL output, resources, server, CLI checks, and result contract fixtures.
- Flash database reference: iTXTech/fdfdb
fdnext is released under AGPL-3.0-or-later. See LICENSE.