
Rysunek 1. Cechy pamięci OTP i przechowywane dane
OTP oznacza pamięć jednorazowo programowalną. OTP to rodzaj pamięci nieulotnej, która przechowuje dane po usunięciu zasilania. Została zaprojektowana do przechowywania informacji, które powinny pozostać stałe przez cały okres użytkowania urządzenia.
Pamięć OTP oferuje niski pobór mocy, prostą trwałą pamięć i ochronę przed przypadkowymi zmianami. Jednak nieprawidłowe dane są trudne lub niemożliwe do skorygowania. Pamięć OTP różni się również od jednorazowego hasła, które jest tymczasowym kodem używanym do logowania lub weryfikacji.
Jak działa pamięć OTP?
Pamięć OTP zaczyna się w stanie czystym, gdzie każdy bit ma domyślną wartość binarną 0 lub 1. Podczas programowania urządzenie stosuje kontrolowane napięcie lub prąd do wybranych komórek, zmieniając ich stan elektryczny w celu przechowania wymaganych danych. W oparciu o bezpiecznik, kontrolowany prąd programowania otwiera wybrane połączenia bezpiecznikowe.
Obwód odczytu sprawdza każdą komórkę i przekształca jej stan elektryczny na dane binarne. Po programowaniu urządzenie odczytuje zapisane wartości i porównuje je z danymi oryginalnymi. Niektóre urządzenia OTP oferują również kontrolę ochrony, które ograniczają odczyt, zapobiegają dalszemu programowaniu lub blokują cały blok po weryfikacji.
Pamięć OTP można klasyfikować w zależności od fizycznej metody użytej do przechowywania każdego bitu. Główne mechanizmy to połączenia bezpiecznikowe lub eFuse, komórki antybezpieczne, komórki oparte na ładunku i regiony Flash, które można zablokować.
PROM opisuje, jak i kiedy urządzenie pamięci jest programowane, a nie jedną specyficzną technologię komórek OTP. Wbudowane i samodzielne opisują integrację produktu, a nie fizyczny mechanizm przechowywania.

Rysunek 2. Typy pamięci OTP i umiejscowienie
OTP oparte na bezpieczniku wykorzystuje małe przewodzące połączenia, które są nienaruszone przed programowaniem. Kontrolowany prąd programowania otwiera wybrane połączenia bezpiecznikowe, zmieniając ich stan elektryczny w celu przechowywania danych binarnych.
eFuse to mniejsza wersja elektroniczna zbudowana bezpośrednio w obwodzie scalonym. Programowanie na stałe podnosi opór wybranego elementu lub przerywa jego przewodzącą ścieżkę.
OTP z bezpiecznikiem i eFuse jest proste, stabilne i szeroko stosowane w MCU, procesorach i SoC. eFuse jest łatwiejsze do integracji w wielu standardowych procesach CMOS, jednak programowanie może wymagać stosunkowo wysokiego prądu. Struktury bezpiecznika mogą również potrzebować więcej powierzchni krzemu niż gęstsze technologie OTP.
Implementacje antifuse mogą wspierać kompaktowe komórki i niską moc odczytu, ale gęstość i retencja zależą od procesu, projektu komórki, kwalifikacji, temperatury i marginesu wykrywania. Zprogramowany stan może być mniej wizualnie oczywisty w niektórych implementacjach.
OTP na bazie ładunku przechowuje ładunek elektryczny w izolowanej strukturze tranzystora, zwykle w bramce pływającej. Przechowywany ładunek zmienia napięcie progowe tranzystora, co pozwala obwodowi odczytu rozróżnić między stanami zprogramowanymi a pustymi.
Ta metoda wspiera dobrą gęstość przechowywania i niską moc odczytu. Jej długoterminowa niezawodność zależy od retencji ładunku, temperatury pracy, stresu elektrycznego i starzenia się urządzenia. W przeciwieństwie do normalnego Flash lub EEPROM, implementacja OTP nie zapewnia standardowej funkcji kasowania dla aktualizacji użytkownika.
Niektóre urządzenia Flash zawierają specjalne strony, sektory lub rejestry zabezpieczeń, które mogą być programowane, a następnie trwale zablokowane. Te obszary korzystają z komórek pamięci Flash, a nie z osobnej struktury bezpiecznika lub antifuse.
Zaklejane regiony OTP na bazie Flash są wygodne, ponieważ korzystają z istniejącego procesu pamięci i interfejsu programowania. Mogą zapewnić większą pojemność niż małe tablice bezpieczników. Jednak ich trwałość i bezpieczeństwo zależą od konstrukcji blokady urządzenia. Niektóre regiony są naprawdę nieodwracalne, podczas gdy inne mogą pozwalać na odzyskiwanie, masowe kasowanie lub dostęp fabryczny w określonych warunkach.
Wybór między eFuse a antifuse zależy od procesu półprzewodnikowego, dostępnego napięcia lub prądu programowania, układu komórki, metody wykrywania, celów kwalifikacji i wymagań dotyczących bezpieczeństwa.

Rysunek 3. Stany programowania eFuse w porównaniu z antifuse
| Porównanie Punkt |
eFuse OTP |
Antifuse OTP |
| Stan początkowy |
Przewodząca lub niskooporowa ścieżka |
Otwarta lub wysokooporowa ścieżka |
| Stan zprogramowany |
Ścieżka staje się otwarta lub bardziej oporna |
Tworzona jest przewodząca ścieżka |
| Metoda programowania |
Sterowany prąd zmienia lub otwiera element bezpiecznika |
Wysokie pole elektryczne zmienia warstwę izolacyjną i formuje przewodzące połączenie |
| Obszar krzemu |
Rozmiar komórki i obwodu programowania zależy od procesu i układu |
Może wspierać kompaktową komórkę, w zależności od implementacji procesu |
| Wymagania dotyczące mocy |
Często potrzebuje wyższego prądu programowania |
Często potrzebuje wyższego napięcia programowania, podczas gdy prąd zależy od konstrukcji |
| Niezawodność |
Zależy od geometrii bezpiecznika, kontroli programowania i marginesu wykrywania |
Zależy od struktury antifuse, kontroli przebicia i marginesu wykrywania |
| Retencja danych |
Zależy od projektu komórki, kwalifikacji procesu, temperatury i marginesu wykrywania |
Zależy od projektu komórki, kwalifikacji procesu, temperatury i marginesu wykrywania |
| Inspekcja fizyczna |
Zmienione lub otwarte połączenie może być widoczne w niektórych implementacjach |
Zprogramowany stan może być mniej wizualnie oczywisty w niektórych implementacjach |
| Zgodność procesu |
Może być integrowany w wielu procesach CMOS, w zależności od reguł projektowych |
Może wymagać dodatkowych materiałów, struktur lub wsparcia procesowego |
| Najlepsza dopasowanie projektu |
Projekty, które sprzyjają zgodności z procesem i prostą integracją |
Projekty, które mogą wspierać wymagane napięcie programowania i strukturę komórki |
| Główny czynnik wyboru |
Prąd programowania, obszar układu, metoda wykrywania i wsparcie procesu |
Napięcie programowania, wsparcie procesu, metoda wykrywania i dane kwalifikacyjne |
Te typy pamięci nieulotnej różnią się głównie tym, czy przechowywane dane mogą być aktualizowane i kiedy te dane są definiowane.
| Typ pamięci |
Czy można je zaktualizować? |
Jak dane są definiowane |
Typowe zastosowanie |
Główne ograniczenie |
| OTP |
Nie, po ostatecznym zaprogramowaniu |
Zprogramowane po produkcji układu |
ID urządzenia, dane kalibracyjne, ustawienia stałe i wartości zabezpieczeń |
Nieprawidłowe dane zwykle nie mogą być skorygowane |
| EEPROM |
Tak |
Zapisywane i aktualizowane elektrycznie podczas pracy |
Ustawienia, liczniki, wartości kalibracyjne i preferencje użytkownika |
Zapis jest wolniejszy niż odczyt, a trwałość jest ograniczona |
| Flash |
Tak |
Zapisywane elektrycznie i kasowane w blokach lub sektorach |
Oprogramowanie, przechowywanie kodu, rejestrowanie danych i duże zestawy danych |
Aktualizacje mogą wymagać kasowania większego bloku |
| Mask ROM |
Nie |
Naprawione podczas produkcji półprzewodników |
Stały kod w produktach o dużych wolumenach |
Każda zmiana kodu wymaga nowego projektu układu lub maski produkcyjnej |
| PROM |
Nie, po programowaniu |
Programowany po wyprodukowaniu urządzenia pamięci |
Naprawiony kod, tabele współrzędnych i konfiguracja produktu |
Błędy programowania i późniejsze aktualizacje zazwyczaj nie są możliwe do odzyskania |
Pamięć OTP jest używana do informacji, które powinny pozostać stabilne przez całe życie urządzenia.
| Kategoria aplikacji |
Przechowywane informacje |
Cel |
| Tożsamość urządzenia |
Numery seryjne, identyfikatory urządzeń, adresy MAC oraz kody produkcyjne |
Identyfikuje każde urządzenie do śledzenia, rejestracji, sieci i rekordów serwisowych |
| Kalibracja fabryczna |
Wartości offsetu, wzmocnienia, przycinania, temperatury i kompensacji |
Poprawia zmienność produkcyjną i poprawia dokładność czujnika lub obwodu |
| Konfiguracja produktu |
Model, region, włączone funkcje, limity operacyjne i ustawienia sprzętowe |
Pozwala jednej konstrukcji sprzętowej na wspieranie różnych wersji produktu |
| Bezpieczne uruchamianie |
Bity włączające uruchamianie, hasze kluczy zaufanych i ustawienia weryfikacji oprogramowania układowego |
Pomaga urządzeniu akceptować tylko zatwierdzone oprogramowanie startowe |
| Bezpieczeństwo cyklu życia |
Wartości zapobiegające cofnięciu, blokady debugowania, ochrona przed odczytem i stany bezpieczeństwa |
Kontroluje aktualizacje oprogramowania układowego i ogranicza dostęp po produkcji |
| Poświadczenia urządzenia |
Certyfikaty, dane uwierzytelniające, odniesienia do kluczy lub chronione klucze |
Wspiera uwierzytelnianie urządzenia i bezpieczną komunikację |
Ostrzeżenie: Pamięć OTP w formie tekstu jawnego nie jest automatycznie odpowiednia do przechowywania kluczy tajnych. Użyj bloków kluczy chronionych sprzętowo lub z ograniczonym dostępem do odczytu, gdy są dostępne.
Tożsamość urządzenia i adresy MAC
OTP może przechowywać unikalny numer seryjny, identyfikator urządzenia lub 48-bitowy adres MAC. Te wartości wspierają śledzenie produktów, rejestrację, sieć i rekordy serwisowe. Nieprawidłowe lub powielone wartości mogą powodować problemy z identyfikacją lub konflikty w sieci.
Kalibracja Fabryczna i Przycinanie Analogowe
Czujniki i obwody analogowe mogą przechowywać wartości offsetu, wzmocnienia, temperatury, częstotliwości lub przycinania w pamięci OTP. Te wartości zachowują pomiary fabryczne i pomagają urządzeniu spełniać jego wymagania dokładności lub wydajności.
Zweryfikuj zakres adresów dostępnych dla użytkownika, wartość stanu pustego, jednostkę programowalną, kierunek przejścia bitów, wyrównanie, szczegółowość ochrony oraz wymaganą wartość napięcia programującego. Dane kalibracji fabrycznej, zarezerwowane wiersze, identyfikatory urządzeń i nieudokumentowane lokalizacje nie mogą być modyfikowane.
Stwórz przejrzystą strukturę danych przed programowaniem. Rekord może zawierać pole typu, numer wersji, długość danych, ładunek, sumę kontrolną lub CRC, znacznik ważności i zarezerwowane bajty. Ustalony format pomaga oprogramowaniu układowemu prawidłowo odczytywać i weryfikować dane.
Pozostaw nieużywane słowa lub bloki dla przyszłych wersji produktów, dodatkowych ustawień, zastępujących rekordów lub aktualizacji zabezpieczeń. Oprogramowanie układowe powinno być w stanie zidentyfikować najnowszy ważny rekord bez zmiany wcześniej zaprogramowanych danych.
Zaprogramuj i zweryfikuj wszystkie wymagane dane przed zastosowaniem trwałej ochrony. Najpierw przetestuj urządzenie, a następnie ustaw blokady bloków, ochronę przed odczytem, kontrole bezpiecznego uruchamiania i ograniczenia debugowania. Trwałe blokady powinny być stosowane na końcu, ponieważ odzyskanie może już nie być możliwe.
Bezpieczne uruchamianie i hasze zaufanych kluczy
OTP może przechowywać bity włączające bezpieczne uruchamianie i zaufany hasz publicznego klucza. Te wartości muszą być weryfikowane przed trwałym zablokowaniem, ponieważ nieprawidłowy hasz lub ustawienie uruchamiania może uniemożliwić działanie ważnego oprogramowania układowego.
Zapobieganie cofnięciu i blokowanie debugowania
OTP może przechowywać minimalną wersję zabezpieczeń oprogramowania układowego i trwałe bity kontroli debugowania. Wartości zapobiegające cofnięciu powinny być planowane na przyszłe aktualizacje, podczas gdy blokady JTAG lub SWD powinny być stosowane dopiero po ostatecznym teście.
| Etap programowania |
Wymagana akcja |
Warunek zwolnienia |
| 1. Potwierdź dokładnie docelowe urządzenie i region OTP |
Zweryfikuj pełny numer części, opakowanie, rewizję, dostępny dla użytkownika zakres adresów OTP, jednostkę programowalną, wyrównanie, wartość stanu pustego i szczegółowość ochrony. Wyklucz miejsca zaprogramowane fabrycznie i zarezerwowane. |
Dokładne urządzenie i obszar zapisywalny OTP są potwierdzane na podstawie zatwierdzonych dokumentów technicznych. |
| 2. Zamrożenie i zatwierdzenie obrazu programowania |
Finalizacja formatu danych, kolejności bajtów, adresów, numerów seryjnych, wartości kalibracji, kluczy, sum kontrolnych i pól zastrzeżonych. Umieść obraz programowania pod kontrolą wersji. |
Obraz programowania został przetestowany, zweryfikowany i formalnie zatwierdzony do produkcji. |
| 3. Walidacja zasilania, narzędzia, stanu fabrycznego i fizycznej konfiguracji |
Potwierdzenie wsparcia programatora, wersji oprogramowania, stabilnego napięcia zasilania, bezpiecznych połączeń, kontroli ESD i statusu wszystkich docelowych lokalizacji. |
Ustawienie przechodzi wszystkie kontrole wstępne programowania bez ostrzeżeń lub niezgodności. |
| 4. Programowanie tylko zatwierdzonych adresów |
Zapisz tylko lokalizacje zdefiniowane w zatwierdzonym obrazie. Natychmiast zatrzymaj się, jeśli narzędzie zgłasza błąd napięcia, komunikacji, adresu lub urządzenia. |
Programator kończy operację zapisu bez nieoczekiwanych wyników. |
| 5. Odczyt i test kompletnego urządzenia |
Odczytaj cały zaprogramowany obszar i porównaj go z zatwierdzonym obrazem za pomocą porównania bezpośredniego, CRC, sumy kontrolnej lub hasha. Uruchom ponownie urządzenie i przetestuj każdą funkcję dotkniętą wartościami OTP. |
Odczyt zgadza się z danymi źródłowymi, a kompletne urządzenie przechodzi testy funkcjonalne. |
| 6. Zastosowanie trwałej ochrony i zapisanie rekordów śledzenia |
Ustaw blokady bloków, ochronę odczytu, kontrolę bezpiecznego uruchamiania i ograniczenia debugowania tylko po weryfikacji. Zapisz ID urządzenia, wersję obrazu programowania, datę, operatora, programatora, wersję oprogramowania, wynik testu i status ochrony. |
Potwierdzono trwałą ochronę, a pełny rekord produkcji został zapisany. |
Uwaga: Urządzenia korzystające z schematów kodowania eFuse, zapisów na poziomie wiersza, ECC lub programowania wsadowego mogą nałożyć dodatkowe ograniczenia. Bit, który wydaje się pusty, może nie pozostać programowalny niezależnie po zapisaniu innego pola w tej samej jednostce kodującej.
Pamięć OTP może wspierać bezpieczeństwo urządzenia, utrzymując ważne wartości zaufania po programowaniu. Jednak jej ochrona zależy od projektu chipu, kontroli dostępu, oprogramowania układowego i procesu produkcji.
Co OTP Może Chronić
OTP może przechowywać zaufane wartości, takie jak ustawienia bezpiecznego uruchamiania, hasze kluczy publicznych, wersje bezpieczeństwa oprogramowania układowego, poświadczenia urządzenia i bity kontroli debugowania. Blokady zapisu mogą zapobiegać późniejszym zmianom, podczas gdy ograniczenia odczytu mogą ograniczyć dostęp przez oprogramowanie, programatory lub narzędzia debugowania. Funkcje te pozwalają OTP wspierać sprzętowy rdzeń zaufania.
Co OTP Nie Może Zapobiec
OTP nie zatrzymuje każdego ataku. Fizyczne badania, inspekcje chipów, wstrzykiwanie błędów, analiza kanałów bocznych, wady oprogramowania lub słabe udostępnianie kluczy mogą nadal ujawniać lub omijać chronione dane. Napastnik może celować w obwody, które odczytują lub wykorzystują wartości OTP, zamiast zmieniać samą pamięć.
OTP nie powinno być opisane jako odporne na manipulacje. Silna ochrona wymaga również bezpiecznego uruchamiania, kontrolowanego udostępniania, bezpiecznego oprogramowania układowego, chronionego sprzętu kryptograficznego i ograniczonego dostępu do debugowania.
Kiedy Element Bezpieczny Jest Bardziej Odpowiedni
Element bezpieczny jest bardziej odpowiedni, gdy klucze prywatne muszą być izolowane od głównego procesora lub gdy wymagana jest silniejsza ochrona przed atakami fizycznymi, wstrzykiwaniem błędów i atakami kanałów bocznych. Elementy bezpieczne często zawierają chronione przechowywanie kluczy, funkcje kryptograficzne, wykrywanie manipulacji i kontrolowane zarządzanie kluczami.
OTP jest zazwyczaj wystarczające dla stałych punktów zaufania, kontroli konfiguracji i podstawowej tożsamości urządzenia. Element bezpieczny jest lepszy dla poświadczeń o dużej wartości, systemów płatności, tożsamości cyfrowej i silnej autoryzacji urządzeń.
| Problem |
Prawdopodobna przyczyna |
Zalecana akcja |
| Złe urządzenie, rewizja lub adres |
Wybrana część, rewizja układu, profil programatora lub adres docelowy nie pasuje do rzeczywistego urządzenia |
Zatrzymaj programowanie i zweryfikuj wykryty identyfikator urządzenia, pełny numer części, rewizję oraz oficjalną mapę pamięci OTP |
| Nieprawidłowa jednostka zapisu lub wyrównanie |
Rozmiar danych lub adres nie pasuje do wymaganej jednostki bitu, słowa, wiersza, bloku lub kodującej jednostki |
Skoryguj układ obrazu i wyrównanie zgodnie z udokumentowaną granularnością programowania |
| Nieprawidłowy stan fabryczny lub założenie kodowania |
Oprogramowanie oczekuje niewłaściwej wartości fabrycznej lub inne pole w tej samej jednostce kodującej już wpłynęło na pozostałe bity |
Odczytaj pełną jednostkę kodującą, potwierdź udokumentowany wzór fabryczny i sprawdź, czy pozostałe lokalizacje są nadal programowalne niezależnie |
| Niestabilne zasilanie lub przerwane programowanie |
Spadek napięcia, reset, słaby kontakt, utrata komunikacji lub szum elektryczny zatrzymały zapis |
Sprawdź zasilanie, złącza, odsprzęganie, dzienniki narzędziowe oraz ścieżkę komunikacyjną przed użyciem innego urządzenia |
| Niedopasowanie odczytu lub częściowe programowanie |
Tylko część obrazu została zapisana, lub wynik różni się z powodu kolejności bajtów, timing, napięcia, szerokości lub błędów adresowych |
Porównaj pełny odczyt z zatwierdzonym obrazem i przejrzyj wszystkie ustawienia programatora przed kontynuowaniem |
| Blokada lub kontrola debugowania zastosowana zbyt wcześnie |
Ochrona zapisu, ochrona odczytu, JTAG, SWD lub inna kontrola stała została włączona przed ostatecznym testowaniem |
Sprawdź, czy istnieje zatwierdzona ścieżka odzyskiwania. Jeśli nie, urządzenie może wymagać wymiany |
| Niepoprawne dane bezpieczeństwa w trybie rozruchu lub suma kontrolna klucza |
Zaprogramowana suma kontrolna klucza, reguła podpisu, polityka uruchamiania lub stan zabezpieczeń nie pasuje do zatwierdzonego oprogramowania układowego |
Porównaj przechowywane wartości z zatwierdzonym łańcuchem kluczy i obrazem rozruchowym. Nie stosuj dodatkowych blokad, dopóki przyczyna nie zostanie potwierdzona |
| Brak rejestrów programowania i śledzenia |
Identyfikator urządzenia, wersja obrazu, wersja narzędzia, operator, wynik weryfikacji lub stan ochrony nie zostały zarejestrowane |
Odtwórz dostępny rejestr i wymagaj automatycznego rejestrowania śledzenia dla wszystkich późniejszych jednostek |
O NAS
Satysfakcja klienta za każdym razem. Wzajemne zaufanie i wspólne interesy.
Przewodnik po silnikach krokowych: Jak to działa, rodzaje, dobór i sterowanie
2026-07-28
Projektowanie analogowych układów wejściowych: komponenty, interfejs ADC, szumy i testowanie
2026-07-26
Uszkodzenie może wynikać z ekstremalnej temperatury, promieniowania, nadmiernego obciążenia elektrycznego, uszkodzonych komórek lub uszkodzonych obwodów detekcyjnych. Sumy kontrolne, parzystość i ECC mogą pomóc w wykryciu nieważnych danych.
Prędkość odczytu zależy od architektury urządzenia. Niektóre procesory kopiują wartości OTP do rejestrów pamięci podręcznej lub RAM podczas uruchamiania, aby normalna operacja mogła korzystać z szybszego dostępu lokalnego.
Oprogramowanie układowe powinno sprawdzić CRC, sumę kontrolną, wersję formatu lub znacznik ważności przed użyciem rekordu. Nieudane sprawdzenie powinno wywołać domyślne ustawienia bezpieczeństwa, ograniczoną operację lub kontrolowany stan błędu.
Kilka rejestrów może być przechowywanych w stałych polach lub sekwencyjnych slotach. Każdy rejestr powinien zawierać numer wersji, długość danych, znacznik ważności i kontrolę integralności.
Żadne dodatkowe wartości nie mogą być zapisane po wykorzystaniu wszystkich użytecznych komórek lub slotów. Projekt musi wtedy użyć innej strefy pamięci, obejścia w oprogramowaniu układowym lub wymienić urządzenie.
Trwałość zależy od technologii komórek, jakości produkcji, temperatury, stresu elektrycznego, ekspozycji na promieniowanie oraz limitów kwalifikacji określonych przez producenta.
Zarezerwowane puste bloki mogą wspierać późniejsze rewizje produktów lub nowe rejestry. Ich rozmiar, wyrównanie i zachowanie blokady powinny być zaplanowane przed pierwszym wydaniem produkcyjnym.
Emulacja OTP wykorzystuje pamięć, którą można zapisywać ponownie, z kontrolami sprzętowymi lub programowymi, które uniemożliwiają późniejsze zmiany. Może to uprościć rozwój, ale może nie zapewniać tej samej trwałości co fizyczne komórki OTP.
E-mail: Info@ariat-tech.comTel. HK: +852 30501966Adres: Pok. 2703 27F Ho King Comm Center 2-16,
ul. Fa Yuen, MongKok, Kowloon, Hongkong.