Lib-electronic-components alliancememory

Alliance Memory MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Alliance Memory SRAM, DRAM, or Flash components.

install
source · Clone the upstream repo
git clone https://github.com/Cantara/lib-electronic-components
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Cantara/lib-electronic-components "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/manufacturers/alliancememory" ~/.claude/skills/cantara-lib-electronic-components-alliancememory && rm -rf "$T"
manifest: .claude/skills/manufacturers/alliancememory/SKILL.md
source content

Alliance Memory Manufacturer Skill

Company Overview

Alliance Memory is a leading supplier of commodity memory devices including SRAM (Static RAM), SDRAM, DDR SDRAM (DDR1/DDR2/DDR3), and NOR Flash. They specialize in providing drop-in replacements for legacy memory devices from other manufacturers.

Key Product Lines:

  • AS6C series: Asynchronous SRAM (async SRAM)
  • AS7C series: High-speed synchronous SRAM
  • AS4C series: SDRAM and DDR SDRAM (DDR1, DDR2, DDR3)
  • AS29LV series: NOR Flash memory

MPN Structure

Alliance Memory MPNs follow this general structure:

[PREFIX][DENSITY][VARIANT]-[SPEED][PACKAGE][TEMP][QUALIFIER]
   |       |        |         |      |       |       |
   |       |        |         |      |       |       +-- N = Lead-free (RoHS)
   |       |        |         |      |       +---------- C/I/A = Temperature grade
   |       |        |         |      +------------------ P/T/B/J/S/V = Package
   |       |        |         +------------------------- Access time in nanoseconds
   |       |        +----------------------------------- A/B = Variant/revision
   |       +-------------------------------------------- Memory density
   +---------------------------------------------------- AS6C/AS7C/AS4C/AS29LV = Series prefix

Example Decoding

AS6C4008-55PCN
|  |   |  ||||
|  |   |  |||+-- N = Lead-free (RoHS compliant)
|  |   |  ||+--- C = Commercial temperature (0 to +70C)
|  |   |  |+---- P = PDIP package
|  |   |  +----- 55 = 55ns access time
|  |   +-------- 4008 = 4Mbit density (512K x 8)
|  +------------ 6C = Async SRAM series
+--------------- AS = Alliance Memory prefix

AS4C256M16D3A-12BCN
|  |     | |||  ||||
|  |     | |||  |||+-- N = Lead-free
|  |     | |||  ||+--- C = Commercial temperature
|  |     | |||  |+---- B = BGA package
|  |     | |||  +----- 12 = 12ns (CL=11 DDR3)
|  |     | ||+-------- A = Revision A
|  |     | |+--------- D3 = DDR3 generation
|  |     | +---------- 16 = 16-bit data bus width
|  |     +------------ M = Mega (x1,000,000)
|  +------------------ 256 = 256 Megabits depth
+---------------------- AS4C = SDRAM/DDR series

Package Codes

Memory Package Mapping

CodePackageDescriptionTypical Pin Count
PPDIPPlastic Dual In-line Package28-40
TTSOPThin Small Outline Package28-56
BBGABall Grid Array54-84
JPLCCPlastic Leaded Chip Carrier32-44
SSOICSmall Outline IC28-32
VTSSOPThin Shrink Small Outline Package28-44
ZFBGAFine-pitch Ball Grid Array48-96
WWSONVery Very Thin Small Outline No-lead8-24
QQFNQuad Flat No-lead24-48

Package Selection by Memory Type

Memory TypeCommon Packages
AS6C (Async SRAM)PDIP, TSOP, SOIC, PLCC
AS7C (High-speed SRAM)PLCC, TSOP
AS4C SDRAMTSOP
AS4C DDR1/DDR2TSOP
AS4C DDR3BGA, FBGA
AS29LV FlashTSOP

Series Reference

AS6C - Asynchronous SRAM

Low-power async SRAM for embedded systems, battery-backed applications.

Part NumberDensityOrganizationTypical Speed
AS6C62256256Kbit32K x 855ns, 70ns
AS6C626464Kbit8K x 855ns, 70ns
AS6C10081Mbit128K x 845ns, 55ns
AS6C201616Kbit2K x 855ns
AS6C40084Mbit512K x 845ns, 55ns

AS7C - High-Speed SRAM

Synchronous and high-speed async SRAM for performance applications.

Part NumberDensityOrganizationTypical Speed
AS7C256256Kbit32K x 810ns, 12ns, 15ns
AS7C10241Mbit128K x 810ns, 12ns
AS7C40964Mbit512K x 812ns

AS4C - SDRAM and DDR SDRAM

SuffixTypeDescription
SASDRAMSynchronous DRAM (PC100/PC133)
D1DDR1DDR SDRAM (DDR-266/333/400)
D2DDR2DDR2 SDRAM (DDR2-400/533/667)
D3DDR3DDR3 SDRAM (DDR3-1066/1333/1600)
Part NumberDensityOrganizationType
AS4C4M16SA64Mbit4M x 16SDRAM
AS4C8M16SA128Mbit8M x 16SDRAM
AS4C16M16SA256Mbit16M x 16SDRAM
AS4C32M16SA512Mbit32M x 16SDRAM
AS4C32M16D1A512Mbit32M x 16DDR1
AS4C64M16D2A1Gbit64M x 16DDR2
AS4C128M16D3A2Gbit128M x 16DDR3
AS4C256M16D3A4Gbit256M x 16DDR3
AS4C512M16D3A8Gbit512M x 16DDR3

AS29LV - NOR Flash

Legacy-compatible NOR Flash memory.

Part NumberDensityNotes
AS29LV160B16MbitBoot block flash
AS29LV320B32MbitBoot block flash
AS29LV640B64MbitLarge capacity flash
AS29LV800B8MbitBoot block flash
AS29LV400B4MbitBoot block flash

Temperature Grades

CodeGradeRangeApplication
CCommercial0C to +70CConsumer/office equipment
IIndustrial-40C to +85CIndustrial systems
AAutomotive-40C to +125CAutomotive/harsh environments

Speed Grades

Speed grade represents the access time in nanoseconds. Lower = faster.

SRAM Speed Grades

Speed (ns)SeriesNotes
10AS7CUltra-high speed
12AS7CHigh-speed
15AS7CHigh-speed
20AS6C, AS7CStandard
25AS6CStandard
45AS6CStandard
55AS6CStandard (most common)
70AS6CLow-power optimized

DDR Speed Grades

Speed (ns)TypeDDR Standard
5DDR1DDR-400
6SDRAMPC133
7SDRAMPC133
10SDRAMPC100
12DDR3DDR3-1600 (CL=11)
15DDR3DDR3-1333 (CL=9)
25DDR2DDR2-667

Flash Speed Grades

Speed (ns)Notes
70Fast access
90Standard
120Low-power

Handler Implementation Notes

Package Code Extraction

// Package code is after the speed grade digits
// AS6C4008-55PCN -> skip "55" (digits), first letter 'P' = PDIP

int hyphenIndex = mpn.indexOf('-');
String suffix = mpn.substring(hyphenIndex + 1);

// Skip speed grade digits
int i = 0;
while (i < suffix.length() && Character.isDigit(suffix.charAt(i))) {
    i++;
}
// suffix.charAt(i) is the package code

Series Extraction

// Extract the series prefix (before density digits)
if (mpn.startsWith("AS29LV")) return "AS29LV";  // Check longest first!
if (mpn.startsWith("AS6C")) return "AS6C";
if (mpn.startsWith("AS7C")) return "AS7C";
if (mpn.startsWith("AS4C")) return "AS4C";

IMPORTANT: Check "AS29LV" before the shorter prefixes - pattern order matters!

Density Extraction

// Different format for different series:
// AS6C/AS7C: numeric density after 4-char prefix
//   AS6C4008 -> "4008"
//   AS6C62256 -> "62256"

// AS4C: depth + "M" + width format
//   AS4C4M16SA -> "4M16" (4M x 16)
//   AS4C256M16D3A -> "256M16" (256M x 16)

// AS29LV: numeric density in Mbit (divide by 10 for actual)
//   AS29LV160B -> "160" (16Mbit)

Replacement Logic

The handler implements

isOfficialReplacement()
with these rules:

  1. Same series required: AS6C cannot replace AS7C
  2. Same density required: Different densities are not compatible
  3. Faster can replace slower: 45ns can replace 55ns (not vice versa)
  4. Wider temp can replace narrower: Industrial can replace Commercial
  5. Package is flexible: Different packages are replaceable (design consideration)

Component Types

The handler supports:

ComponentTypeDescription
MEMORY
All memory types (SRAM, SDRAM, DDR)
MEMORY_FLASH
AS29LV NOR Flash only

Note: AS29LV matches BOTH

MEMORY
and
MEMORY_FLASH
types.


Cross-Reference with Other Manufacturers

Alliance Memory specializes in drop-in replacements:

Alliance PartCompatible WithNotes
AS6C1008Cypress CY7C1019Pin-compatible async SRAM
AS6C4008Cypress CY7C1041Pin-compatible async SRAM
AS6C62256Cypress CY7C199Classic 32K x 8 SRAM
AS4C16M16SAMicron MT48LC16M16SDRAM replacement
AS29LV160BSpansion AM29LV160NOR Flash replacement

Related Files

  • Handler:
    manufacturers/AllianceMemoryHandler.java
  • Tests:
    handlers/AllianceMemoryHandlerTest.java
  • Component types:
    MEMORY
    ,
    MEMORY_FLASH
  • Similar handlers:
    MicronHandler
    ,
    ISSIHandler
    ,
    WinbondHandler

Learnings & Edge Cases

  • Series prefix order: When matching, always check "AS29LV" (6 chars) before "AS6C" (4 chars) - otherwise AS29LV won't match correctly
  • Density format varies by series: AS6C/AS7C use simple numbers (4008), AS4C uses "depth M width" format (256M16)
  • DDR generation from suffix: D1=DDR1, D2=DDR2, D3=DDR3, SA=SDRAM
  • Flash dual-type matching: AS29LV parts match both
    MEMORY
    and
    MEMORY_FLASH
    - this is intentional
  • Low power variants: Some parts have 'L' in the part number (AS6C4008L) for low-power versions
  • Revision letters: A/B after the base number indicates silicon revision (AS7C1024A, AS29LV160B)
  • Lead-free indicator: 'N' suffix indicates RoHS-compliant lead-free packaging
  • Temperature in suffix position: Temperature grade comes after package code, before lead-free indicator (55PCN = P-package, C-temp, N-lead-free)
  • Handler uses Set.of(): Correctly uses immutable Set.of() in getSupportedTypes()
  • Case-insensitive matching: Handler converts MPNs to uppercase before pattern matching
<!-- Add new learnings above this line -->