半導體存儲器

半導體存儲器（semiconductor memory）是一種用於數字數據存儲的數字電路半導體器件，例如電腦記憶體。數據會存儲在矽積體電路存儲晶片上的金屬氧化物半導體（MOS）存儲單元內。目前有許多不同的類型的半導體技術。兩種常見的隨機存取存儲器（RAM）中其中一個是靜態RAM（SRAM），它在每個存儲單元使用多個MOS電晶體，另一個是動態RAM（DRAM），每個單元使用一個MOS電晶體和一個MOS電容。非易失性存儲器（如EPROM、EEPROM和快閃記憶體）使用浮柵存儲單元，每個單元由一個浮柵MOS 電晶體組成。大多數類型的半導體存儲器都具有隨機訪問的特性，也就是說訪問任何存儲位置所需時間相同，因此數據可以以任意順序高效訪問。這與如光碟等順序訪問的存儲介質形成對比，後者按寫入順序讀取和寫入數據。半導體存儲器還具有遠快於其他類型存儲設備的讀取時間；訪問一個字節的數據只需幾納秒，而如硬碟等旋轉存儲設備的訪問時間通常為毫秒級。由於這些原因，半導體存儲器被用於主存儲器，用於保存電腦當前處理的程序和數據等用途。

全球半導體存儲晶片銷售額每年達1240億美元，占半導體產業的%。諸如移位寄存器、處理器寄存器、數據緩衝器等不具備地址解碼器的較小數字寄存器，儘管也存儲數字數據，通常不稱為「存儲器」。

## 描述

在半導體存儲晶片中，每一位二進位數據存儲在一個被稱為「存儲單元」的小型電路中，通常由一個或多個電晶體組成。這些存儲單元以矩形陣列方式布局在晶片表面。單比特存儲單元組合為較小單元，稱為「字」（word），作為一個地址單元整體訪問。存儲器通常按2的冪作為「字長」（N=1、2、4、8位）製造。

通過施加一個稱為記憶體地址的二進位數字到晶片的地址引腳，可訪問特定字。如果地址為M位，則晶片包含2M個地址，每個地址存有一個N位字，因此每片晶片的容量為N2M位。存儲容量通常以2的冪來表示：2、4、8、16、32、64、128、256、512等，以千位（Kb）、兆位（Mb）、吉位（Gb）或太位（Tb）為單位。最大容量的半導體存儲晶片可存儲數吉位數據，但更高容量的晶片正在不斷開發中。多個積體電路可以組合使用，以擴展字長和/或地址空間，通常但不必然是2的冪。

存儲晶片的兩種基本操作是「讀取」（read）和「寫入」（write）。讀取是非破壞性地讀取某個地址中的數據內容，寫入則是將新數據寫入某地址，替換原有數據。為了提高數據傳輸速率，某些最新型的存儲器如DDR SDRAM在每次讀寫操作中可以訪問多個字。

除獨立的存儲晶片外，半導體存儲塊也是許多電腦和數據處理積體電路（如微處理器）的組成部分，例如微處理器中通常集成緩存以存儲等待執行的指令。

## 類型

### 易失性存儲器

易失性存儲器在電源關閉時會丟失其存儲的數據，但其速度更快且成本較低，因此被廣泛用於電腦的主存儲器，數據在電腦關機時保存在硬碟上。主要類型包括：

RAM（Random-access memory）這個術語如今已經成為對任何可以被讀取和寫入的半導體存儲器的通用稱呼，與只能讀取的ROM（見下文）相對。事實上，所有半導體存儲器，不僅限於RAM，都具備隨機訪問的特性。

- DRAM（Dynamic random-access memory）使用由一個MOSFET（金屬氧化物場效應電晶體）和一個MOS電容組成的存儲單元來存儲每一位數據。這種類型的RAM價格最低、密度最高，因此被廣泛用於電腦的主存。然而，存儲單元中保存數據的電荷會逐漸洩漏，因此需要定期進行存儲器刷新（即重寫），這需要額外的電路。刷新過程由電腦自動處理，對使用者是透明的。
- 快速頁模式DRAM（FPM DRAM）是一種較早的異步DRAM類型，相較更早期的DRAM，它允許對同一「頁」記憶體的重複訪問以更快速率進行。廣泛用於1990年代中期。
- 擴展數據輸出DRAM（EDO DRAM）是一種具有更快訪問時間的舊型異步DRAM，它可以在前一次數據仍在傳輸的同時發起新的訪問請求。主要用於1990年代後期。
- VRAM（Video random-access memory）– 一種舊式的雙埠RAM，曾用於顯示卡的幀緩衝區中。
- SDRAM（Synchronous DRAM）是在DRAM晶片中加入了用於與電腦記憶體總線時鐘信號同步的電路。這使晶片能通過流水線處理同時處理多個記憶體請求，提高了訪問速度。晶片中的數據還被劃分為多個「記憶體塊」，可並行執行操作。該類型約自2000年起成為主流電腦記憶體。
- DDR SDRAM（雙倍數據率SDRAM）是通過雙倍數據速率傳輸技術，每個時鐘周期可傳輸兩個連續數據字，提升帶寬。這一理念的多代擴展仍是當前（截至2012年）提升記憶體訪問速率與吞吐量的主流方案。由於進一步提高記憶體晶片內部時鐘頻率已變得困難，晶片轉而通過每個時鐘周期傳輸更多數據字以提升性能：
- DDR2 SDRAM – 每個內部時鐘周期傳輸4個連續數據字。
- DDR3 SDRAM – 每個內部時鐘周期傳輸8個連續數據字。
- DDR4 SDRAM – 每個內部時鐘周期傳輸16個連續數據字。
- RDRAM（Rambus DRAM）是一種替代性雙倍數據率記憶體標準，曾用於部分Intel系統，但最終未能與DDR SDRAM競爭成功。
- XDR DRAM（Extreme data rate DRAM）
- SGRAM（Synchronous graphics RAM）是一種專為顯示卡設計的SDRAM。它可以執行如位掩碼和塊寫等圖形操作，且能同時打開兩個記憶體頁。
- GDDR SDRAM（Graphics DDR SDRAM）
- GDDR2
- GDDR3 SDRAM
- GDDR4 SDRAM
- GDDR5 SDRAM
- GDDR6 SDRAM
- HBM（High Bandwidth Memory）是SDRAM的一種發展形式，常用於顯卡中以實現更高的數據傳輸率。其結構為多個記憶體晶片的垂直堆疊，並配有更寬的數據總線。
- PSRAM（Pseudostatic RAM）是一種集成有存儲器刷新電路的DRAM，因此可表現為SRAM，允許關閉外部記憶體控制器以節能。應用於部分遊戲機，如Wii。
- SRAM（Static RAM）的每個位由一個觸發器（由4至6個電晶體構成）進行存儲。與DRAM相比，SRAM密度低、價格高，但速度更快且無需刷新。常用於電腦的緩存中。
- CAM（Content-addressable memory）是一種特殊記憶體，不通過地址訪問數據，而是輸入一個數據字，如果該數據存在，記憶體會返回其所在地址。主要用於嵌入微處理器的晶片中，例如用於緩存存儲器。

### 非易失性存儲器

非易失性存儲器（Non-volatile memory，NVM）是一種在斷電時仍能保留所存數據的存儲器。因此，它常用於無需磁碟的可攜式設備中的記憶體，以及可移動的存儲卡等用途。主要類型包括：

- ROM（Read-only memory）用於保存永久性數據，在正常操作中只能讀取，不能寫入。儘管許多類型的ROM都可以寫入，但寫入過程通常緩慢，並且往往需要一次性重寫整塊晶片的數據。ROM通常用於存儲電腦需立即訪問的系統軟體，例如啟動電腦的BIOS程序，以及可攜式設備和嵌入式電腦（如微控制器）的微碼。
- MROM（Mask programmed ROM或Mask ROM），在此類型中，數據在晶片製造階段即被寫入，因此僅用於大規模生產。該類型ROM無法被重新寫入。
- PROM（Programmable read-only memory），此類型的晶片在安裝前即可被寫入一次，但只能寫入一次。寫入過程需將晶片插入專用設備，即PROM編程器中。
- EPROM（Erasable programmable read-only memory，或UVEPROM），該類型的ROM可通過紫外線擦除數據，並重新編程。需要將晶片從電路板上取出，暴露於紫外線下以清除原有數據，然後插入PROM編程器進行重寫。晶片封裝頂部通常有一個透明「小窗」，用於透光。EPROM常用於原型開發和小批量生產設備中，以便在工廠更換或更新程序。
- EEPROM（Electrically erasable programmable read-only memory），此類型晶片可在電路板上電擦寫，但寫入速度較慢。EEPROM通常用於保存固件，即控制硬體設備運行的底層微代碼，如多數電腦中的BIOS程序，以便後續更新。
- NVRAM（Non-volatile random-access memory）
- FRAM（Ferroelectric RAM）是一種非易失性RAM類型。
- 快閃記憶體（Flash memory）的寫入速度介於EEPROM與RAM之間，可寫入但不夠快，無法作為主記憶體使用。它常被用作硬碟驅動器的半導體替代方案，用於文件存儲。廣泛應用於諸如PDA、USB快閃記憶體驅動器、以及用於數位相機和手機的可移動存儲卡等可攜式設備中。

## 歷史

早期的電腦存儲器採用的是磁芯存儲器，因為當時早期的固態電子半導體（包括如雙極型結型電晶體（BJT）之類的電晶體)，並不適合用作數字存儲元件（存儲單元）。最早的半導體存儲器可追溯至20世紀60年代初，當時採用的是雙極型存儲器，其使用雙極型電晶體。由離散器件構成的雙極型半導體存儲器首次由德州儀器於1961年交付給美國空軍。同年，仙童半導體的應用工程師鮑勃·諾曼（Bob Norman）提出了在積體電路（IC）晶片上實現固態電子存儲器的構想。第一個單晶片存儲器IC是由保羅·卡斯特魯奇（Paul Castrucci）於1965年12月研發的BJT 16位IBM SP95晶片。雖然雙極型存儲器在性能上優於磁芯存儲器，但因價格高昂而未能與之競爭，因此磁芯存儲器直到1960年代末仍占據主導地位。雙極型存儲器未能取代磁芯存儲器的一個原因是，其觸發器電路過於龐大且成本高昂。

### MOS存儲器

金屬氧化物半導體場效應電晶體（MOSFET）的出現，由貝爾實驗室的穆罕默德·阿塔拉和姜大元於1959年發明，使得使用金屬氧化物半導體電晶體作為存儲單元成為可能，而這一功能此前是由磁芯存儲器承擔的。MOS存儲器由仙童半導體的約翰·施密特（John Schmidt）於1964年開發。與磁芯存儲器相比，MOS存儲器性能更高、成本更低、功耗也更小。最終，MOSFET取代磁芯，成為電腦存儲器的主流技術。

1965年，皇家雷達研究院的J. Wood和R. Ball提出了採用CMOS（互補型MOS）存儲單元的數字存儲系統概念，同時也提出了MOSFET功率器件在電源、交叉耦合、開關及延遲線存儲器方面的應用。1968年，仙童半導體的佛德里克·法金開發了矽柵MOS積體電路技術，使得生產MOS存儲晶片成為可能。IBM於1970年代初開始商業化NMOS邏輯存儲器。到1970年代初，MOS存儲器超越磁芯存儲器成為主流。

在電腦領域，「記憶體」一詞通常指易失性的隨機存取存儲器（RAM）。主要的兩種類型為靜態隨機存取存儲器（SRAM）與動態隨機存取存儲器（DRAM）。1963年，羅伯特·諾曼（Robert Norman）在仙童半導體發明了雙極型SRAM，隨後，約翰·施密特於1964年開發了MOS SRAM。SRAM成為磁芯存儲器的替代方案，但每個比特的數據需要使用六個MOS電晶體。1965年，IBM在其System/360 Model 95中引入SP95 SRAM晶片，開啟了SRAM的商業化。

東芝於1965年在其Toscal BC-1411電子計算器中引入了雙極型DRAM存儲單元。儘管其性能優於磁芯存儲器，但因成本較高未能取代磁芯的主導地位。現代DRAM基於MOS技術。1966年，IBM Thomas J. Watson研究中心的羅伯特·丹納德博士在研究MOS技術時，發現可以利用MOS電容儲存電荷表示「1」或「0」，並由MOS電晶體控制充電，從而發明了單電晶體DRAM存儲單元。1967年，丹納德以IBM名義申請了基於MOS技術的單電晶體DRAM存儲單元專利。這直接促成了世界上第一款商業化DRAM晶片——英特爾1103的誕生，發布於1970年10月。同步動態隨機存儲器（SDRAM）於1992年由三星電子推出，型號為KM48SL2000。

「記憶體」一詞也常用於指代非易失性存儲器，尤其是快閃記憶體。其起源可追溯至只讀存儲器（ROM）。可編程只讀存儲器（PROM）由周文俊（Wen Tsing Chow）於1956年在美國Bosch Arma公司Arma部門發明。1967年，姜大元與施敏（Simon Sze）在貝爾實驗室提出可通過MOS浮柵技術製造可重寫ROM單元。這促使英特爾的Dov Frohman於1971年發明了EPROM（可擦可編程只讀存儲器）。1972年，日本經濟產業省產業技術綜合研究所的Yasuo Tarui、Yutaka Hayashi與Kiyoko Naga開發了EEPROM（電擦可編程只讀存儲器）。東芝的舛岡富士雄於1980年代初發明快閃記憶體。舛岡及其團隊於1984年推出NOR型快閃記憶體，又於1987年開發NAND型快閃記憶體。東芝於1987年將NAND快閃記憶體實現商業化。