中文字幕无码日韩视频无码三区

具有狀態脈沖串輸出的同步快閃存儲器的制作方法

文檔序號:6757640閱讀:448來源:國知局
專利名稱:具有狀態脈沖串輸出的同步快閃存儲器的制作方法
技術領域
本發明總的涉及非易失性存儲器器件,具體地,本發明涉及同步非易失性快閃存儲器。
背景技術
存儲器器件典型地被提供用作為計算機中的內部存儲區域。術語存儲器表示具有集成電路芯片形式的數據存儲。存儲器具有幾種不同的類型。一種類型是RAM(隨機存取存儲器)。這典型地被用作為計算機環境下的主存儲器。RAM是指讀出和寫入存儲器,也就是,可以把數據寫入到RAM和從RAM讀出數據。這是與ROM不同的,ROM只允許讀出數據。大多數RAM是易失性的,這意味著它需要穩定的電流來保持它的內容,只要電源被去激活,在RAM中無論什么數據都被丟失。
計算機幾乎總是包含小量的只讀存儲器(ROM),它保存用于激活計算機的指令。與RAM不同,ROM不能被寫入。EEPROM(電可擦可編程只讀存儲器)是一種特殊類型的非易失性ROM,它可以通過把它暴露在電荷中而被擦除。像其他類型的ROM一樣,EEPROM傳統上沒有RAM那樣快。EEPROM包括很大數目的、具有電隔離的柵極(浮動柵)的存儲單元。數據是以浮動柵上的電荷的形式被存儲在存儲單元的。通過編程和擦除操作,電荷分別被輸送到浮動柵或從浮動柵被去除。
另一種類型的非易失性存儲器是快閃存儲器。快閃存儲器是一種EEPROM,它可以以塊的形式,而不是一次一個字節地,被擦除和重新編程。許多現代的PCS具有它們自己的、被存儲在快閃存儲器芯片上的BIOS,這樣,如果必要它可容易地被更新。這樣的BIOS有時被稱為快速BIOS。快閃存儲器在調制解調器中也很通用,因為它使得調制解調器制造商能夠支持新的協議(當這些協議成為標準化時)。
典型的快閃存儲器包括存儲器陣列,它包括很大數目的、以行和列的形式排列的存儲單元。每個存儲單元包括能夠保持電荷的、浮動柵場效應晶體管。存儲單元通常被編組為塊。在一個塊內的每個單元可以通過對浮動柵進行充電而被隨機地電編程。通過塊擦除操作,電荷可以從浮動柵上被去除。存儲單元中的數據是由浮動柵上的電荷的存在與否而被確定。
同步DRAM(SDRAM)是一種DRAM,它能夠以比傳統的DRAM存儲器高得多的時鐘速度運行。SDRAM使它本身與CPU總線同步,以及能夠以100MHz速率運行,比傳統的FPM(快速頁模式)RAM約快三倍,以及約為快速EDO(擴展數據輸出)DRAM和BEDO(脈沖串擴展數據輸出)DRAM的兩倍。可以迅速地訪問SDRAM,但它是易失性的。許多計算機系統被設計成使用SDRAM來操作,而從非易失性存儲器得到好處。
由于上述的理由,以及由于下面闡述的其他理由,這些理由對于本領域技術人員在閱讀和了解本技術說明后將是顯而易見的,在本技術中需要一種可以以類似于SDRAM操作的方式操作的、非易失性存儲器器件。
發明概要存儲器器件的上述的問題和其他問題由本發明解決,以及可通過閱讀和研究以下的技術說明而了解它們。
在一個實施例中,操作同步存儲器器件的方法包括確定x個周期的讀脈沖串長度以使來自同步存儲器器件的數據輸出以x個接連的時鐘周期被輸出,起動寄存器讀操作,以便讀出被存儲在內部寄存器中的數據,以及在x個接連的時鐘周期內在外部數據連接上輸出被存儲在內部寄存器中的數據。
在另一個實施例中,操作同步存儲器器件的方法包括接受讀寄存器命令,以及響應于讀寄存器命令在x個時鐘周期內輸出來自同步存儲器器件的寄存器數據。
在再一個實施例中,操作同步存儲器器件的方法包括在存儲器器件的陣列上執行寫操作,以及在執行寫操作期間,把來自處理器的寄存器讀命令提供到存儲器器件。寄存器讀命令在第一時鐘周期在存儲器器件的輸入端處被接受,以及被存儲在存儲器寄存器中的寄存器數據被讀出。寄存器數據在多個時鐘周期期間在同步存儲器器件的數據通信連接上被輸出。寄存器數據的輸出在接受到寄存器讀命令后、被延時了預定的時鐘等待時間間隔。
同步存儲器器件包括存儲單元陣列、數據寄存器、以及時鐘信號輸入連接。控制電路響應于寄存器讀命令在輸出連接處提供來自數據寄存器的數據。控制電路根據編程的讀脈沖串長度值在預定數目的時鐘周期內輸出數據。
附圖簡述

圖1A是本發明的同步快閃存儲器的方框圖;圖1B是本發明的一個實施例的集成電路管腳互聯圖;圖1C是本發明的一個實施例的集成電路互聯凸點網格陣列(bumpgrid array)圖;圖2表示本發明的一個實施例的模式寄存器;圖3表示具有一個、兩個和三個時鐘周期的CAS等待時間的讀操作;圖4表示激活在本發明的一個實施例的存儲器的一個組中的一個特定的行;圖5表示在工作的命令與讀或寫命令之間的時序;圖6表示讀命令;圖7表示本發明的一個實施例的接連的讀脈沖串的時序;圖8表示在本發明的一個實施例的一頁內的隨機讀訪問;圖9表示后面跟隨寫操作的讀操作;圖10表示按照本發明的一個實施例的、通過使用脈沖串終結命令終結的讀脈沖串操作;圖11表示寫命令;圖12表示后面跟隨讀操作的寫操作;圖13表示本發明的一個實施例的電源功率降低操作;圖14表示在脈沖串讀出期間時鐘中止操作;圖15表示具有兩個導引扇區的存儲器的一個實施例的存儲器地址變換;圖16是按照本發明的一個實施例的、自定時的寫序列的流程圖;圖17是按照本發明的一個實施例的、完整的寫狀態檢驗序列的流程圖;圖18是按照本發明的一個實施例的、自定時的塊擦除序列的流程圖;圖19是按照本發明的一個實施例的、完整的塊擦除狀態檢驗序列的流程圖;
圖20是按照本發明的一個實施例的、塊保護序列的流程圖;圖21是按照本發明的一個實施例的、完整的塊狀態檢驗序列的流程圖;圖22是按照本發明的一個實施例的、器件保護序列的流程圖;圖23是按照本發明的一個實施例的、塊的非保護序列的流程圖;圖24表示起動和裝載模式寄存器操作的時序;圖25表示時鐘中止模式操作的時序;圖26表示脈沖串讀操作的時序;圖27表示交替組讀出訪問的時序;圖28表示全頁脈沖串讀操作的時序;圖29表示通過使用數據屏蔽信號的脈沖串讀操作的時序;圖30表后面跟隨對不同組讀出的寫操作的時序;圖31表示后面跟隨對同一個組讀出的寫操作的時序;圖32表示本發明的存儲器系統;以及圖33表示本發明的多處理器系統。
發明詳細描述在本發明的以下的詳細的說明中,參考了構成本發明的一部分的附圖,以及其中顯示了可以實施本發明的特定的實施例。這些實施例充分詳細地被描述,以使得本領域技術人員能夠實施本發明,以及將會看到,可以利用其他實施例和可以作出邏輯的、機械的和電的改變,而不背離本發明的精神和范圍。所以,以下的詳細說明并不是在限制的意義上作出的,以及本發明的范圍僅僅由權利要求限定。
以下的詳細說明分成兩個主要的節。第一節是接口功能說明,它詳細闡述與SDRAM存儲器的兼容性。第二節是功能性說明,它具體說明快閃結構功能性命令。
接口功能說明參照圖1A,描述本發明的一個實施例的方框圖。存儲器器件100包括非易失性快速存儲單元102的陣列。陣列被排列成多個可尋址的組。在一個實施例中,存儲器包含四個存儲器組104、106、108和110。每個存儲器組包含存儲單元的可尋址的扇區。被存儲在存儲器中的數據可以通過使用由地址寄存器112接受的、外部提供的位置地址被訪問。利用行地址復用電路114,對這些地址進行譯碼。這些地址也可以通過使用組控制邏輯116和行地址鎖存與譯碼電路118被譯碼。為了訪問存儲器的適當的列,列地址計數和鎖存電路120把接受的地址耦合到列譯碼電路122。電路124提供輸入/輸出選通、數據屏蔽邏輯、讀數據鎖存電路和寫驅動器電路。數據通過數據輸入寄存器126被輸入和通過數據輸出寄存器128被輸出。命令執行邏輯130被提供來控制存儲器器件的基本操作。狀態機132也被提供來控制在存儲器陣列和單元上執行的特定的操作。狀態寄存器134和識別寄存器136也可被提供來輸出數據。
圖1B表示本發明的一個實施例的互聯的管腳分配。存儲器封裝150具有54個互聯管腳。管腳結構基本上類似于已可提供的SDRAM封裝。對于本發明特定的兩個互聯管腳是RP#152和Vccp 154。雖然本發明可以共享看來與SDRAM的相同的互聯標簽,但在互聯管腳上提供的信號的功能在這里被描述,以及除非這里闡述的,它不應當等同于SDRAM的信號的功能。圖1C表示存儲器封裝160的一個實施例,它具有凸起連接,而不是圖1C的管腳連接。所以,本發明并不限于特定的封裝結構。
在描述存儲器器件的操作特性之前,先給出互聯管腳和它們的各個信號的更詳細的說明。輸入時鐘連接被使用來提供時鐘信號(CLK)。時鐘信號可以被系統時鐘驅動,以及所有的同步快閃存儲器輸入信號在CLK的上升沿處被采樣。CLK也給內部脈沖串計數器加增量,以及控制輸出寄存器。
輸入時鐘允許(CKE)連接端被使用來激活(HIGH(高)狀態)和去激活(LOW(低)狀態)CLK信號輸入。去激活時鐘輸入可提供電源功率降低和等待操作(此處所有的存儲器組是空閑的),工作的電源功率降低(在任一個組中存儲器行是ACTIVE(工作的)),或時鐘中止操作(脈沖串/訪問在進行中)。CKE是同步的,除非在器件進入功率降低模式以后,此處CKE成為非同步的,直至退出這個模式以后為止。輸入緩沖器,包括CLK,在功率降低模式期間是被禁止的,以便提供低的等待功率。CKE在不需要功率降低模式(不同于RP#深度功率降低)的系統中可以維持在HIGH(高)。
芯片選擇(CS#)輸入連接端提供一個信號,以便允許(寄存的LOW(低))和禁止(寄存的HIGH(高))在命令執行邏輯中提供的命令譯碼器。當CS#被寄存為HIGH時所有的命令被屏蔽。另外,CS#在具有多個組的系統上提供外部的組選擇,以及CS#可被看作為命令代碼的一部分;但不一定是必須的。
用于RAS#、CAS#和WE#(連同CAS#、CS#一起)的輸入命令輸入連接端規定要被存儲器執行的命令,正如下面詳細地描述的。輸入/輸出屏蔽(DQM)連接端被使用來提供用于寫訪問的輸入屏蔽信號,和用于讀訪問的輸出允許信號。當DQM在寫周期期間被采樣HIGH時,輸入數據被屏蔽。當DQM在讀周期期間被采樣HIGH時,輸出緩沖器被置于高阻抗(高-Z)狀態(在兩個時鐘等待時間后)。DQML相應于數據連接DQ0-DQ7,以及DQMH相應于數據連接DQ8-DQ15。DQML和DQMH在表示為DQM時被認為是相同的狀態。
地址輸入端133主要被使用來提供地址信號。在所表示的實施例中,存儲器具有12條線(A0-A11)。其他的信號可以在地址連接處被提供,正如下面描述的。地址輸入端在ACTIVE(工作的)命令(行地址A0-A11)和READ/WRITE(讀/寫)命令(列地址A0-A7)期間被采樣,以便選擇各個存儲器組中的一個位置。地址輸入也被使用來在LOADCOMMAND REGISTER(裝載命令寄存器)操作期間提供操作代碼(OpCode),在下面解釋。地址線A0-A11也被使用來在LOAD MODEREGISTER(裝載模式寄存器)操作期間輸入模式設置值。
輸入復位/功率降低(RP#)連接140被使用于復位和功率降低操作。在初始器件功率上升時,在一個實施例中,在發出可執行的命令之前,RP#從低轉移到高以后需要100μs延時,以便內部器件初始化。RP#信號清除狀態寄存器,把內部狀態機(ISM)132設置在陣列讀模式,以及當處在LOW(低)時,把器件置于深度功率降低模式。在功率降低模式期間,所有的輸入連接,包括CS#142,都處在“不用管它”,以及所有的輸出處在High-Z(高阻)狀態。當RP#信號等于VHH電壓(5伏)時,在WRITE和ERASE期間,所有的保護模式被忽略。RP#信號也允許器件保護比特被設置為1(保護)以及允許16比特寄存器的塊保護比特(在位置0和15)被設置為0(非保護),當被加上VHH時。保護比特將在下面更詳細地被描述。在所有其他操作模式期間,RP#被保持為HIGH。
組地址輸入連接,BA0和BA1規定哪個組加上ACTIVE、READ、WRITE、或BLOCK PROTECT命令。DQ0-DQ15連接143是數據總線連接,被使用于雙向數據通信。參照圖1B,VCCQ連接被使用來提供隔離的功率到DQ連接,以便改善對噪聲的抗擾性。在一個實施例中,VCCQ=VCC或1.8V±0.15V。VSSQ連接被使用來提供隔離的地到DQ連接,以便改善噪聲抗狀性。VCC連接提供供電電源,諸如3V。通過VSS連接來提供地連接。另一個工作電壓被提供到VCCP連接144。VCCP連接在器件初始化、WRITE和ERASE操作期間可以外部地連接到VCC以及源電流。也就是,寫入或擦除存儲器器件可以通過使用VCCP電壓被執行,而所有其他的操作可以用VCC電壓來執行。VCCP連接被耦合到高電壓開關/泵電路145。
以下的節提供同步快閃存儲器的操作的更詳細的說明。本發明的一個實施例是非易失性、扇區電可擦的(快閃)、可編程只讀存儲器,包含被組織為4,194,304字×16比特的67,108,864比特。其他流行的密度也是預期的,但本發明并不限于示例的密度。每個存儲器組被組織為四個獨立的可擦除的塊(總共16個)。為了確保關鍵的固件被保護免受偶然的擦除或過寫入,存儲器可包括16個256K字硬件和軟件可鎖定的塊。存儲器的四個組的結構支持真正的同時發生的操作。
到任何組的讀訪問可以與到任何其他的組的背景寫入或擦除操作同時發生。同步快閃存儲器具有同步的接口(所有的信號在時鐘信號CLK的上升沿處被登記)。到存儲器的讀訪問可以是面向脈沖串的。也就是,存儲器訪問在選擇的位置處開始以及在編程的序列中編程的數目的位置上繼續。讀訪問從后面跟隨READ命令的ACTIVE命令的登記開始。與ACTIVE命令一致的登記的地址比特被使用來選擇要被訪問的組和行。與READ命令一致的登記的地址比特被使用來選擇脈沖串訪問的開始列的位置和組。
同步快閃存儲器提供可編程的讀脈沖串長度,1、2、4、或8個位置或全頁,帶有脈沖串終結任選項。另外,同步快閃存儲器使用內部管線結構達到高速度操作。
同步快閃存儲器可以操作在低功率存儲器系統中,諸如工作在3伏的系統。深度功率降低模式可以連同功率節省等待模式一起被提供。所有的輸入和輸出是低壓晶體管-晶體管邏輯(LVTTL)可兼容的。同步快閃存儲器提供快閃工作性能方面重大的優點,包括與自動列地址生成同步地閃現高數據速率的數據的能力以及在脈沖串訪問期間在每個時鐘周期隨機地改變列地址的能力。
通常,同步快閃存儲器類似于操作在低壓的多組DRAM被配置。以及包括同步接口。每個組被組織為行和列。在正常操作之前,同步快閃存儲器被初始化。以下的節提供詳細的信息,包括器件初始化,寄存器規定,命令說明和器件操作。
同步快閃存儲器被加上電源,以及以預定的方式被初始化。在功率加到VCC,VCCQ和VCCP(同時地)以及時鐘信號穩定后,RP#140從LOW狀態轉移到HIGH狀態。在RP#轉移到HIGH后需要一個延時,諸如100μs延時,以便完成內部器件初始化。在延遲的時間過去以后,存儲器被置于陣列讀模式,以及準備好接受模式寄存器編程或可執行的命令。在非易失性模式寄存器147(NV模式寄存器)的初始編程后,內容在初始化期間被自動裝載到易失性模式寄存器148。器件在編程狀態下被加上功率,以及不需要在發出工作命令之前重新裝載非易失性寄存器147。這將在下面更詳細地說明。
模式寄存器148被使用來規定同步快閃存儲器的特定的工作模式。這個規定包括選擇脈沖串長度、脈沖串類型、CAS等待時間、和工作模式,如圖2所示。模式寄存器通過LOAD MODE REGISTER(裝載模式寄存器)命令被編程以及保持存儲的信息,直至它被重新編程為止。模式寄存器的內容可被復制到NV模式寄存器147。NV模式寄存器設置值在初始化期間自動裝載模式寄存器148。關于ERASE NVMODEREGISTER(擦除NV模式寄存器)和WRITE NVMODE REGISTER(寫入NV模式寄存器)命令序列的細節在下面被提供。本領域技術人員將會看到,SDRAM要求模式寄存器在每次初始化操作期間必須被外部地裝載。本發明允許缺省模式被存儲在NV模式寄存器147。NV模式寄存器的內容然后被復制到易失性模式寄存器148,以便在存儲器操作期間訪問。
模式寄存器比特M0-M2規定脈沖串長度,M3規定脈沖串類型(順序的或交錯的),M4-M6規定CAS等待時間,M7和M8規定工作模式,M9被設置為1,以及M10和M11在本實施例中被保留。因為當前不執行寫脈沖串,故M9被設置為邏輯1,以及寫訪問是單個位置(非脈沖串)訪問。當所有的組是空閑時,模式寄存器必須被裝載,以及在初始化以后的操作之前,控制器必須等待規定的時間。
對同步快閃存儲器的讀訪問可以是面向脈沖串的,脈沖串長度是可編程的,如表1所示。脈沖串長度確定對于給定的READ命令可被自動訪問的列位置的最大數目。對于順序的和交錯的脈沖串類型都可得到1、2、4、或8個位置的脈沖串長度,以及對于順序的類型可得到全頁的脈沖串長度。全頁的脈沖串可以結合BURSTTERMINATE(脈沖串終結)命令被使用來生成任意的脈沖串長度,也就是,脈沖串可被選擇地終結,以便提供定做的長度的脈沖串。當發出READ命令時,等于脈沖串長度的列的塊實際上被選擇。對于該脈沖串的所有的訪問發生在這個塊內,意味著如果到達邊界,脈沖串將隱蔽在該塊內。當脈沖串長度被設置為2時這個塊被A1-A7唯一地選擇,當脈沖串長度被設置為4時這個塊被A2-A7選擇,以及當脈沖串長度被設置為8時這個塊被A3-A7選擇。其余的(最低有效的)地址比特被使用來選擇該塊內的開始位置。如果到達邊界,則全頁的脈沖串隱蔽在該頁內。
在給定的脈沖串內的訪問可被編程為順序的或交錯的;這被稱為脈沖串類型,以及通過比特M3被選擇。在一個脈沖串內的訪問的次序由脈沖串長度、脈沖串類型和開始的列地址確定,如表1所示。
表1 脈沖串的定義

列地址選通(CAS)等待時間是在READ命令的登記與DQ連接端處的第一片輸出數據的可提供性之間的延時(以時鐘周期為單位)。等待時間可被設置為一,二,或三個時鐘周期。例如,如果READ命令在時鐘邊沿n處被登記,以及等待時間是m個時鐘,則數據將是由時鐘邊沿n+m可提供的。由于提早一個周期的時鐘邊沿(n+m-1)的結果,DQ連接將開始驅動數據,以及如果相關的訪問時間是滿足的話,數據在時鐘邊沿n+m之前是正確的。例如,假設時鐘周期時間是使得所有的相關的訪問時間是滿足的,如果READ命令在T0時被登記,以及等待時間被編程為兩個時鐘,DQ將在T1后開始驅動,以及數據在T2之前是正確的,如圖3所示。圖3表示示例的工作頻率,不同的時鐘等待時間設置值可以以這個頻率被使用。正常的操作模式通過把M7和M8設置為零而被選擇,以及編程的脈沖串長度應用到READ脈沖串。
以下的真值表提供在本發明的存儲器的實施例的操作命令方面的更多的細節。這里提供命令的說明,以及接著是真值表2。
真值表1 接口命令和DQM操作

真值表2 快閃存儲器命令序列

COMMAND INHIBIT(命令禁止)功能阻止同步快閃存儲器執行新的命令,不管CLK信號是否允許。同步快閃存儲器實際上被去選擇,但已在進行的操作不受影響。
NO OPERATION(NOP)(不操作)命令被使用來對于被選擇的同步快閃存儲器(CS#為LOW(低))執行NOP。這阻止在空閑或等待狀態期間登記不想要的命令,但已在進行的操作不受影響。
模式寄存器數據通過輸入端A0-A11被裝載。在所有的陣列組是空閑時只能發出LOAD MODE REGISTER(裝載模式寄存器)命令,以及在預定的延時(MRD)被滿足之前不能發出隨后的可執行的命令。在NV模式寄存器147中的數據在上電初始化時被自動裝載到模式寄存器148,它是缺省數據,除非它與LOAD MODE REGISTER命令一起被動態地改變。
ACTIVE(工作的)命令被使用來打開(或激活)特定的陣列組中的一行,用于以后的訪問。在BA0,BA1輸入端上的數值選擇那個組,以及在輸入端A0-A11上提供的地址選擇那一行。這一行保持對于訪問是工作的,直至下一個ACTIVE命令、功率降低、或復位為止。
READ(讀)命令被使用來起動對工作的行的脈沖串讀訪問。在BA0,BA1輸入端上的數值選擇那個組,以及在輸入端A0-A7上提供的地址選擇開始的列位置。讀出的數據出現在DQ上,該DQ受到在兩個時鐘之前存在的、在數據屏蔽(DQM)輸入端上邏輯電平的支配。如果給定的DQM信號被登記為HIGH,則相應的DQ將在兩個時鐘后是High-Z(高阻);如果DQM信號被登記為LOW,則DQ將提供正確的數據。因此,DQM輸入端可被使用來在讀操作期間屏蔽輸出數據。
WRITE(寫)命令被使用來起動對工作的行的單個位置的寫訪問。WRITE命令前面必須有WRITE SETUP(寫建立)命令。在BA0,BA1輸入端上的數值選擇那個組,以及在輸入端A0-A7上提供的地址選擇列位置。在DQ上出現的輸入數據被寫入到存儲器陣列,該DQ受到與數據一致的DQM輸入邏輯電平的支配。如果給定的DQM信號被登記為LOW,則相應的數據將被寫入到存儲器;如果DQM信號被登記為HIGH,則相應的數據輸入將被忽略,以及對該字/列位置不執行WRITE。具有DQM HIGH的WRITE命令被認為是NOP。
ACTIVE TERMINATE(工作終結)命令對于同步快閃存儲器是不需要的,但它可被提供以類似于SDRAM PRECHARGE命令的方式來終結讀操作。ACTIVE TERMINATE命令可被發出來終結正在進行的BURST READ(脈沖串讀出),以及可以是或不一定是組特定的。
BURST TERMINATE(脈沖串終結)命令被使用來截斷固定長度的脈沖串或全頁的脈沖串。在BURST TERMINATE命令之前的最近的READ命令將被截斷。BURST TERMINATE不是組特定的。
裝載命令寄存器操作被使用來起動對命令執行邏輯(CEL)130的快閃存儲器控制命令。CEL接受和解釋加到器件的命令。這些命令控制內部狀態機132和讀路徑(即,存儲器陣列102、ID寄存器136或狀態寄存器134)的操作。
在任何READ或WRITE命令可被發出到同步快閃存儲器內的一個組之前,在該組中的一行必須被“打開”。這是通過ACTIVE命令(由CS#,WE#,RAS#,CAS#規定的)完成的,該命令選擇要被激活的組和行,見圖4。
在打開一行(發出ACTIVE命令)后,READ或WRITE命令可被發出到由時間間隔(tRCD)技術說明規定的行,tRCD(MIN)應當由時鐘周期劃分,以及舍入到下一個整個數目,確定在ACTIVE命令后的、READ或WRITE命令可被借以進入的、最早的時鐘邊沿。例如,對于90MHz時鐘(11.11ns周期)的30ns的tRCD技術說明導致2.7個時鐘,它被舍入為3。這反映在圖5上,它覆蓋其中2<tRCD(MIN)/tCK<3的任意情形。(相同的程序過程被使用從時間單位到時鐘周期來轉換其他技術說明極限值)。
以后的、對同一個組的不同的行的ACTIVE命令可被發出,而不必關閉先前工作的行,只要在對同一個組的接連的ACTIVE命令之間的最小時間間隔是由tRC規定的話。
在第一組被訪問的同時,以后的、對另一個組的ACTIVE命令可被發出,這導致總計行訪問開銷的減小。在對不同組的接連的ACTIVE命令之間的最小時間間隔是由時間間隔tRRD規定。
READ脈沖串從READ命令(由CS#,WE#,RAS#,CAS#規定)起動,如圖6所示。開始的列和組地址從READ命令提供。在READ脈沖串期間,來自開始列地址的正確的數據讀出單元在READ命令后的CAS等待時間后是可以得到的。每個隨后的數據讀出單元在下一個時鐘上升沿之前是正確的。在完成脈沖串后,假設沒有其他命令被起動,DQ將進到High-Z狀態。全頁的脈沖串將繼續,直至終結為止。(在該頁的結尾,它將隱蔽到列0,并繼續進行。)來自任何READ脈沖串的數據可以用以后的READ命令截斷,以及來自固定長度READ脈沖串的數據可以緊接地被來自以后的REAB命令的數據所跟隨。在任一種情形下,連續的數據流可被保持。來自新的脈沖串的第一數據單元跟隨在完成的脈沖串的最后的單元后面,或跟隨在被截斷的較長的脈沖串的最后的想要的數據單元后面。新的READ命令應當在最后的想要的數據單元是正確的時鐘邊沿之前的x周期被發出,其中x等于CAS等待時間減1。這示于圖7中對于1,2,和3的CAS等待時間;數據單元n+3或者是4的脈沖串的最后的,或者是較長的脈沖串的最后想要的。同步快閃存儲器使用流水線結構,所以,不需要與預取的結構有關的2n法則。READ命令可以在先前的READ命令后的任何時鐘周期被起動。可以執行在一頁內的全速的隨機讀訪問,如圖8所示,或可以執行對不同的組的每個隨后的READ。
來自任何READ脈沖串的數據可以用以后的WRITE命令被截斷(WRITE命令之前必須有WRITE SETUP),以及來自固定長度READ脈沖串的數據可以緊接地被來自隨后的WRITE命令(受到總線換向限制)的數據所跟隨。WRITE可以在緊接在來自READ脈沖串的最后的(或最后想要的)數據單元后面的時鐘邊沿處被起動,只要I/O競爭可被避免。在給定的系統設計中,可以有可能性驅動輸入數據的器件在同步快閃存儲器DQ進到High-Z之前進到Low-Z(低阻)。在這種情形下,至少單個周期延時將出現在最后的讀數據與WRITE命令之間。
DQM輸入被使用來避免I/O競爭,如圖9所示。DQM信號必須在WRITE命令之前至少堅持(HIGH)兩個時鐘(對于輸出緩沖器,DQM等待時間是兩個時鐘)堅持(HIGH),以便抑制來自READ的數據輸出。一旦WRITE命令被登記,DQ將進到High-Z(或保持在High-Z),而不管DQM信號的狀態。DQM信號必須在WRITE命令之前被去除堅持,(對于輸入緩沖器,DQM等待時間是零),以便確保寫入的數據不被屏蔽。圖9表示其中時鐘頻率允許不用加上NOP周期而避免總線競爭的情形。
固定長度或全頁READ脈沖串可以用ACTIVE TERMINATE命令(可以是或不一定是組特定的)或BURST TERMINATE(不是組特定的)命令截斷。ACTIVE TERMINATE或BURST TERMINATE命令應當在最后的想要的數據單元是正確的時鐘邊沿之前的x周期被發出,其中x等于CAS等待時間減1。這是在圖10上對于每個可能的CAS等待時間所表示的;數據單元n+3或者是四的脈沖串的最后的想要的數據單元,或者是較長的脈沖串的最后想要的數據單元。
單個位置WRITE從WRITE命令(由CS#,WE#,RAS#,CAS#規定)起動,如圖11所示。開始的列和組地址從WRITE命令提供。一旦WRITE命令被登記,就可如真值表4和5規定的那樣執行READ命令。圖12上表示一個例子。在WRITE期間,正確的數據輸入與WRITE命令一致地被登記。
不像SDRAM那樣,同步快閃存儲器不需要PRECHARGE命令來去激活在特定的組中打開的行,或在所有的組中打開的行。ACTIVETERMINATE命令類似于BURST TERMINATE命令;然而,ACTIVE TERMINATE可以是或不一定是組特定的。在ACTIVE TERMINATE命令期間堅持輸入A10是HIGH,將終結在任何組中的BURST READ。當A10在ACTIVETERMINATE命令期間是低時,BA0和BA1將確定哪個組將接受終結操作。ACTIVE TERMINATE對于不是由A10、BA0、BA1尋址的組被認為是NOP。
當不是正在進行訪問時,如果時鐘允許,CKE與NOP或COMMANDINHIBIT(當沒有進行訪問時)一致地被登記為LOW,則出現功率降低。在內部狀態機操作(包括WRITE操作)完成后,進入功率降低使得去激活輸入和輸出緩沖器(不包括CKE),以便在待機狀態時節省功率。
功率降低狀態可通過在想要的時鐘邊沿處(滿足tCKS)登記NOP或COMMAND INHIBIT和CKE HIGH而退出。對于示例性功率降低操作,參閱圖13。
當列訪問/脈沖串正在進行和CKE被登記為LOW時出現時鐘中止模式。在時鐘中止模式下,內部時鐘被去激活,“凍結”同步邏輯。對于CKE借以被采樣為LOW的每個時鐘上升沿,下一個內部的時鐘上升沿被中止。在被中止的內部時鐘邊沿的時間出現在輸入管腳處的任何命令或數據被忽略,出現在DQ管腳處的任何數據將保持被驅動,以及脈沖串計數器不加增量,只要時鐘被中止(見圖14的例子)。時鐘中止模式可通過登記CKE HIGH而退出;內部時鐘和相關的操作將在以后的時鐘上升沿時繼續進行。
在一個實施例中,脈沖串讀/單個寫模式是缺省模式。所有的WRITE命令導致單個列位置(長度為一的脈沖串)的訪問,而READ命令按照編程的脈沖串長度和序列對列進行訪問。以下的真值表3表示使用CKE信號的存儲器操作。
真值表3-CKE

真值表4-當前狀態組n-到組n的命令

真值表5-當前狀態組n-對組m的命令

功能說明同步快閃存儲器引用多個特性,以使得它理想地適用于在SDRAM總線上的代碼存儲和執行適當的應用。存儲器陣列被分段成各個擦除塊。每個塊可被擦除,而不影響被存儲在其他的塊中的數據。這些存儲器塊通過對命令執行邏輯130(CEL)發出命令而被讀出、寫入和擦除。CEL控制內部狀態機132(ISM)的操作,它完全控制所有的ERASENVMODE REGISTER(擦除NV模式寄存器)、WRITE NVMODE REGISTER(寫入NV模式寄存器)、WRITE(寫入)、BLOCK ERASE(塊擦除)、BLOCK PROTECT(塊保護)、DEVICE PROTECT(器件保護)、UNPROTECT ALL BLOCK(非保護所有的塊)和VERIFY(驗證)操作。ISM 132保護每個存儲單元不受到過分擦除,以及使得每個存儲單元最佳化,以便最大數據保持。另外,ISM大大地簡化在系統中或在外部編程器中為了寫入器件所必須的控制。
同步快閃存儲器被組織為16個獨立的可擦除的存儲器塊,它們允許擦除存儲器的一部分而不影響其余的存儲器數據。任何的塊可以是硬件保護的,免受不利的擦除或寫入。保護的塊要求在被修正之前RP#管腳被驅動到VHH(相當高的電壓)。在位置0和15處的256K字的塊可以具有附加的硬件保護。一旦對于這些塊執行了PROTECT BLOCK(保護塊)命令,UNPROTECT ALL BLOCKS命令就松開除了在位置0和15處的塊以外的所有的塊,除非RP#管腳是處在VHH。這在系統內固件更新期間對于關鍵的代碼提供附加的安全性,如果出現不想要的功率擾動或系統復位的話。
功率接通初始化、ERASE、WRITE、和PROTECT的時序可通過使用ISM來控制存儲器陣列中所有的編程算法而被簡化。ISM確保保護不被過分擦除,以及使得對每個單元的寫余量最佳化。在WRITE操作期間,ISM自動加增量以及監視WRITE企圖,驗證在每個存儲單元上寫余量以及更新ISM狀態寄存器。當BLOCK ERASE操作被執行時,ISM自動地過寫整個尋址的塊(消除過分擦除),加增量和監視ERASE企圖,以及設置在ISM狀態寄存器中的比特。
8比特ISM狀態寄存器134允許外部處理器200在WRITE、ERASE和PROTECT操作期間監視ISM的狀態。8比特狀態寄存器(SR7)的一個比特完全被ISM設置和清除。這個比特表示ISM是否忙于ERASE、WRITE或PROTECT任務。附加的錯誤信息在三個其他比特中(SR3、SR4和SR5)被設置寫入和保護塊錯誤,擦除和非保護所有的塊錯誤,以及器件保護錯誤。狀態寄存器比特SR0,SR1和SR2提供ISM操作進行中的細節。用戶可監視器件級或組級ISM操作(包括哪個組處在ISM控制下)是否正在進行中。這六個比特(SR3-SR5)必須被主系統清除。下面參照表2更詳細地描述狀態寄存器。
CEL 130接受和解釋對器件的命令。這些命令控制ISM和讀路徑(即,存儲器陣列,器件配置或狀態寄存器)的操作。在ISM是工作的同時,命令可被發出到CEL。
為了允許最大功率保存,同步快閃存儲器的特征在于非常低的電流的、深的功率降低模式。為了進入這個模式,RP#管腳140(復位/功率降低)被取為VSS±0.2V。為了防止有害的RESET,RP#必須在器件進入復位模式之前保持為Vss在100ns內。對于RP#保持在Vss,器件將進入深度功率降低模式。在器件進入深度功率降低模式后,在RP#上從LOW到HIGH的轉移,將導致如這里概述的、器件功率接通初始化序列。在進入復位模式后但在進入深度功率降低模式之前RP#從LOW到HIGH的轉移需要在發出可執行的命令之前1μs的延時。當器件進入到深度功率降低模式時,不包括RP#緩沖器的所有的緩沖器被禁止,以及電流抽取是低的,例如,在3.3V VCC下50μA的最大值。在深度功率降低期間,加到RP#的輸入必須保持在Vss。進入到RESET(復位)模式,清除狀態寄存器134,以及把ISM 132設置為陣列讀模式。
同步快閃存儲器陣列結構被設計成允許扇區被擦除,而不打擾陣列的其余部分。陣列被劃分成16個可尋址的“塊”,它們是可獨立地擦除的。通過擦除塊,而不是整個陣列,總的器件耐久性被增強,作為系統靈活性。只有ERASE和BLOCK PROTECT功能是面向塊的。16個可尋址的塊被相等地劃分成四個組104、106、108和110,每個組四個塊。四個組具有同時讀-寫功能。對于任何組的ISM WRITE或ERASE操作可以與對任何其他組的READ操作同時進行。可以對狀態寄存器134進行輪詢,以確定哪個組處于ISM操作中。同步快閃存儲器具有單個基礎操作ISM,控制功率接通初始化、ERASE、WRITE、和PROTECT操作。在任何時間只可進行一個ISM操作;然而,某些其他命令,包括READ操作,可以在進行ISM操作的同時被執行。由ISM控制的操作命令被規定為組級操作或器件級操作。WRITE及ERASE為組級ISM操作。在ISM組操作被起動后,對組的任何位置的READ可能輸出不正確的數據,而對任何其他組的READ將讀出陣列。READ STATUS REGISTER命令將輸出狀態寄存器134的內容。ISM狀態比特將表示,ISM操作何時完成(SR7=1)。當ISM操作完成時,組將自動進入陣列讀模式。ERASE NVMODE REGISTER,WRITE NVMODE REGISTER,BLOCK PROTECT,DEVICE PROTECT,和UNPROTECT ALL BLOCK是器件級的ISM操作。一旦ISM器件級操作被起動,對任何組的READ將輸出陣列的內容。READSTATUS REGISTER(讀狀態寄存器)命令可被發出,以確定ISM操作的完成。當SR7=1時,ISM操作將完成以及以后的ISM操作可被起動。任何塊可以用硬件電路保護,不受到不想要的ERASE或WRITE的影響,它要求RP#管腳在WRITE或ERASE開始之前被驅動到VHH,正如下面解釋的。
任何塊可被硬件保護,以提供對于固件的最敏感部分的額外保護。在WRITE或ERASE硬件保護的塊期間,RP#管腳必須保持在VHH上,直至WRITE或ERASE完成為止。在不是RP#=VHH的情形下,對于保護的塊的任何WRITE或ERASE企圖將被阻止,以及將導致寫或擦除錯誤。在位置0和15處的塊可以具有附加的硬件保護,以阻止不利的WRITE或ERASE操作。在本實施例中,這些塊不可以通過UNPROTECT ALL BLOCK命令被軟件松開的,除非RP#=VHH。任何塊的保護狀態可以通過用READSTATUS REGISTER命令讀出它的塊保護比特而被檢驗。另外,為了保護一個塊,必須與塊地址一起發出三周期命令序列。
同步快閃存儲器的特征在于,具有三種不同類型的READ。取決于模式,READ操作將從存儲器陣列、狀態寄存器、或器件配置寄存器之一產生數據。對器件配置寄存器或狀態寄存器的READ必須在LCR-ACTIVE周期之后,以及輸出數據的脈沖串長度將由模式寄存器設置值規定。以后的READ或不在LCR-ACTIVE周期之后的READ就讀出陣列。然而,存在幾個差別,并將在以下的節中被描述。
對任何組的READ命令輸出存儲器陣列的內容。在進行WRITE或ERASE ISM操作的同時,在ISM控制下對組中的任何位置的READ可能輸出不正確的數據。在退出RESET操作后,器件將自動進入到陣列讀模式。
對狀態寄存器134進行的READ,要求與在讀陣列時相同的輸入順序,除了LCR READ STATUS REGISTER(70H)周期必須在ACTIVE READ周期之前以外。狀態寄存器數據輸出的脈沖串長度由模式寄存器148規定。狀態寄存器內容在經過CAS等待時間的下一個時鐘上升沿被更新和鎖存。器件將自動進入到陣列讀模式,用于以后的READ。
對任何的器件配置寄存器136進行的READ,要求與在讀狀態寄存器時相同的輸入順序,除了必須發出特定的地址以外。WE#必須是HIGH(高電平),以及DQM和CS#必須是LOW(低電平)。為了讀出制造商兼容性ID,地址必須是在000000H,以及為了讀出器件ID,地址必須是在000001H。任何的塊保護比特在每個擦除塊內的第三地址(xx0002H)處被讀出,而器件保護比特從位置000003H處被讀出。
DQ管腳被使用來輸入數據或用來輸入陣列。地址管腳被使用來規定地址位置或在LOAD COMMAND REGISTER周期期間對CEL輸入命令。命令輸入把8比特命令發出到CEL,以便控制器件的工作模式。WRITE被使用來對存儲器陣列輸入數據。以下的節描述這兩種輸入類型。
為了執行命令輸入,DQM必須是LOW,以及CS#和WE#必須是LOW。地址管腳或DQ管腳被使用來輸入命令。不被使用于輸入命令的地址管腳是“不用管它”的,以及必須保持為穩定的。8比特命令在DQ0-DQ7或A0-A7處被輸入,以及在時鐘上升沿處被鎖存。
對存儲器陣列的WRITE把想要的比特設置為邏輯0,但不能把給定的比特從邏輯0改變到邏輯1。把任何比特設置為邏輯1需要把整個塊擦除。為了執行WRITE,DQM必須是LOW,CS#和WE#必須是LOW,以及VCCP必須保持在VCC。對保護的塊的寫入也要求RP#管腳保持在VHH。A0-A11提供要被寫入的地址,而要被寫入到陣列的數據在DQ管腳處被輸入。數據和地址在時鐘的上升沿被鎖存。WRITE的前面必須有WRITE SETUP命令。
為了簡化寫入存儲器塊,同步快閃存儲器引用ISM,它在WRITE和ERASE周期內控制所有的內部算法。8比特命令組被使用來控制器件。對于正確的命令的清單,可參閱真值表1和2。
8比特ISM狀態寄存器134(見表2)被輪詢,以檢驗ERASE NVMODEREGISTER、WRITE NVMODE REGISTER、WRITE、ERASE、BLOCK PROTECT、DEVICE PROTECT、或UNPROTECT ALL BLOCK的完成或任何相關的錯誤。ISM操作的完成可以通過發出READ STATUS REGISTER(70H)命令而被監視。狀態寄存器的內容被輸出到DQ0-DQ7,以及在由模式寄存器設置值規定的、固定脈沖串長度內在下一個時鐘上升沿(經過CAS等待時間)處被更新。ISM操作將在SR7=1時完成。所有的規定的比特由ISM設置,但僅僅ISM狀態比特被ISM復位。擦除的/非保護的塊,寫入/保護的塊,器件保護必須通過使用CLEAR STATUS REGISTER(50H)命令清除。這允許用戶選擇何時輪詢和清除狀態寄存器。例如,主系統可以在檢驗狀態寄存器之前執行多個WRITE操作,而不是在每次單獨的WRITE以后檢驗。堅持RP#信號或將器件功率降低也將清除狀態寄存器。
表2狀態寄存器

器件ID、制造商兼容性ID、器件保護狀態和塊保護狀態都可通過發出READ DEVICE CONFIGURATION(90H)命令而被讀出。為了讀想要的寄存器,必須堅持特定的地址。對于各種器件配置寄存器136的更多的細節,可參閱表3。
表3器件配置

可發出命令,以使器件進入不同的操作模式。每個模式具有特定的操作,這些操作可在該模式下被執行。幾種模式要求一系列命令在它們到達之前被寫入。以下的節描述每個模式的性質,真值表1和2列出對于執行想要的操作所需要的所有的命令序列。讀-寫功能允許對于任何組執行基礎操作寫或擦除,而同時讀出任何其他組。對于寫操作,在真值表2中的LCR-ACTIVE-WRITE命令序列必須在接連的時鐘周期內完成。然而,為了簡化同步快閃控制器操作,在命令序列中可以發出沒有限制的數目的NOP或COMMAND INHIBIT。為了附加保護,在三個周期內,這些命令序列必須具有相同的組地址。如果在LCR-ACTIVE-WRITE命令序列期間組地址改變,或如果命令序列不是接續的(除了NOP和COMMAND INHIBIT以外,它們是許可的),寫和擦除狀態比特(SR4和SR5)將被設置,以及操作被禁止。
在功率接通以后和在對器件發出任何工作命令以前,同步快閃存儲器被初始化。在功率被加到VCC、VCCQ和VCCP(同時地)以及時鐘是穩定以后,RP#從LOW轉移到HIGH。在RP#轉移到HIGH以后,需要一個延時(在一個實施例中,100μs的延時),以便完成內部器件初始化。在完成器件初始化時器件處在陣列讀模式,以及可執行的命令可被發出到器件。
為了讀出器件ID、制造商兼容性ID、器件保護比特和每個塊保護比特,發出READ DEVICE CONFIGURATION(90H)命令。在這個模式下,特定的地址被發出來讀出想要的信息。制造商兼容性ID在000000H處被讀出;器件ID在000001H處被讀出。制造商兼容性ID和器件ID在DQ0-DQ7處輸出。器件保護比特在000003H處被讀出;以及每個塊保護比特在每個塊內的第三地址位置(xx0002H)處被讀出。器件和塊保護比特在DQ0處輸出。
需要在接連的時鐘邊沿處的三個接連的命令來把數據輸入到陣列(NOP和COMMAND INHIBIT許可處在周期之間)。在第一周期,利用在A0-A7處的WRITE SETUP(40H)給出LOAD COMMAND REGISTER命令,以及組地址在BA0、BA1上被發出。下一個命令是ACTIVE,它激活行地址和確認組地址。第三周期是WRITE,在此期間發布開始的列、組地址、和數據。ISM狀態比特在接著的時鐘邊沿(經過CAS等待時間)處被設置。在ISM執行WRITE時,ISM狀態比特(SR7)將是0。在ISM控制下對組的READ操作可能產生不正確的數據。當ISM狀態比特(SR7)被設置為邏輯1時,WRITE被完成,以及組將處在陣列讀模式,并準備好可執行的命令。寫入到硬件保護的塊,也要求RP#管腳在第三周期(WRITE)之前被設置為VHH,以及RP#必須保持在VHH,直至ISM WRITE操作完成為止。如果LCR-ACTIVE-WRITE命令序列沒有在接連的周期完成或組地址在三個周期的任一個內改變,則寫和擦除狀態比特(SR4和SR5)被設置。在ISM起動WRITE后,它不能被中斷,除了由RESET或通過功率降低這個部件以外。在WRITE期間這樣做,可能打亂被寫入的數據。
執行ERASE序列將把塊內的所有的比特設置為邏輯1。對于執行ERASE所必須的命令序列類似于WRITE的命令序列。為了提供對于偶然塊擦除的附加安全性,需要在接連的時鐘邊沿處的三個接連的命令來起動塊的ERASE。在第一周期,把A0-A7處的ERASE SETUP(20H)發布給LOAD COMMAND REGISTER,以及要被擦除的塊的組地址在BA0,BA1上被發出。下一個命令是ACTIVE,其中A10,A11,BA0,BA1提供要被擦除的塊的地址。第三周期是WRITE,在此期間在DQ0-DQ7處給出ERASE CONFIRM(DOH),以及重新發布組地址。ISM狀態比特在接著的時鐘邊沿(經過CAS等待時間)處被設置。在ERASE CONFIRM(DOH)被發布后,ISM將開始所尋址的塊的ERASE。對于其中存在所尋址的塊的組的任何的READ操作可能輸出不正確的數據。當ERASE操作完成時,該組處在陣列讀模式,并準備好可執行的命令。擦除被硬件保護的塊,也要求RP#管腳在第三周期(WRITE)之前被設置為VHH,以及RP#必須保持在VHH,直至ERASE完成(SR7=1)為止。如果LCR-ACTI VE-WRITE命令序列沒有在接連的周期完成(NOP和COMMANDINHIBIT許可處在周期之間)或組地址在一個或多個命令周期內改變,則寫和擦除狀態比特(SR4和SR5)將被設置,以及操作被禁止。
模式寄存器148的內容可以用WRITE NVMODE REGISTER命令被復制到NV模式寄存器147中。在寫入到NV模式寄存器之前,ERASE NVMODEREGISTER命令序列必須被完成,以便把NV模式寄存器中所有的比特設置為邏輯1。為了執行ERASE NVMODE REGISTER和WRITE NVMODEREGISTER所必須的命令序列類似于WRITE的命令序列。對于完成ERASENVMODE REGISTER和WRITE NVMODE REGISTER所必須的LCR-ACTIVE-WRITE命令的更多的信息可參閱真值表2。在ERASE NVMODE REGISTER或WRITE NVMODE REGISTER命令序列的WRITE周期被登記后,READ命令可被發出到陣列。在當前的ISM操作被完成和SR7=1之前,將不允許新的WRITE操作。
執行BLOCK PROTECT序列,對于給定的塊允許進行第一級的軟件/硬件保護。存儲器包括16比特寄存器,它具有相應于16個可保護的塊的一個比特。存儲器也具有寄存器,以提供被使用來保護整個器件不受到寫入和擦除操作的器件比特。為了執行BLOCK PROTECT所必須的命令序列類似于WRITE的命令。為了提供對于偶然塊保護的附加安全性,需要三個接連的命令周期來起動BLOCK PROTECT。在第一周期,把A0-A7處的PROTECT SETUP(60H)命令發布給LOAD COMMANDREGISTER,以及要被保護的塊的組地址在BA0、BA1上被發出。下一個命令是ACTIVE,它起動在要保護的塊中的行,以及確認組地址。第三周期是WRITE,在此期間在DQ0-DQ7處發布BLOCK PROTECT CONFIRM(01H),以及重新發布組地址。ISM狀態比特在接著的時鐘邊沿(經過CAS等待時間)處被設置。ISM將開始保護操作。如果LCR-ACTIVE-WRITE沒有在接連的周期完成(NOP和COMMAND INHIBIT許可處在周期之間)或組地址改變,則寫和擦除狀態比特(SR4和SR5)將被設置,以及操作被禁止。當ISM狀態比特(SR7)被設置為邏輯1時,PROTECT已完成,以及該組將處在陣列讀模式,并準備好可執行的命令。一旦塊保護比特被設置為1(保護的),它只能被復位為0,如果UNPROTECTALL BLOCKS命令的話。UNPROTECT ALL BLOCKS命令序列類似于BLOCKPROTECT命令;然而,在第三周期,利用UNPROTECT ALL BLOCKS COMFIRM(D0H)命令發出WRITE,以及地址是“不用管它”。對于附加信息,參閱真值表2。在位置0和15處的塊具有附加安全性。一旦在位置0和15處的塊保護比特被設置為1(保護的),每個比特就只能被復位為0,如果RP#在UNPROTECT操作的第三周期之前被加到VHH,以及保持在VHH,直至操作完成(SR7=1)為止。另外,如果器件保護比特被設置,則RP#必須在第三周期之前被加到VHH,及保持在VHH,直至BLOCKPROTECT或UNPROTECT ALL BLOCKS操作完成為止。為了檢驗塊的保護狀態,可以發出READ DEVICE CONFIGURATION(90H)命令。
執行DEVICE PROTECT序列,把器件保護比特設置為1,以及阻止塊保護比特修正。為了執行DEVICE PROTECT所必須的命令序列類似于WRITE的命令。需要三個接連的命令周期來起動DEVICE PROTECT序列。在第一周期,把A0-A7處的PROTECT SETUP(60H)命令發布給LOADCOMMAND REGISTER,以及組地址在BA0、BA1上被發出。組地址是“不用管它”,但相同的組地址必須在所有的三個周期內被使用。下一個命令是ACTIVE。第三周期是WRITE,在此期間在DQ0-DQ7處發布DEVICEPROTECT(F1H),以及RP#被加到VHH。ISM狀態比特在接著的時鐘邊沿(經過CAS等待時間)處被設置。可執行的命令可被發布到器件。RP#必須保持在VHH,直至WRITE完成(SR7=1)為止。在當前的ISM操作完成前,將不允許新的WRITE操作。一旦器件保護比特被設置,它就不能被復位到0。對于器件保護比特被設置為1,BLOCK PROTECT或BLOCK UNPROTECT被阻止,除非RP#在任一個操作期間處在VHH。器件保護比特不影響WRITE或ERASE操作。對于塊和器件保護操作的更多的信息,可參閱表4。
表4保護操作真值表

在ISM狀態比特(SR7)被設置后,器件/組(SR0)、器件保護(SR3)、組A0(SR1)、組A1(SR2)、寫/保護塊(SR4)和擦除/非保護(SR5)狀態比特可被檢驗。如果SR3、SR4、SR5狀態比特之一或組合被設置,則在操作期間出現錯誤。ISM不能復位SR3、SR4或SR5比特。為了清除這些比特,必須給出CLEAR STATUS REGISTER(50H)命令。表5列出錯誤的組合。
表5 狀態寄存器錯誤譯碼

同步快閃存儲器被設計和被制造,滿足先進的代碼和數據存儲要求。為了確保這個可靠性級,VCCP在WRITE或ERASE期間必須保持為Vcc。在這些限制以外的操作可以減小可對器件執行的WRITE和ERASE周期的數目。每個塊是對于100,000WRITE/ERASE周期的耐久性的最小值被設計和被處理的。
同步快閃存儲器提供可以在陣列讀模式下被利用來節省功率的幾個功率節省特性。深度功率降低模式可以通過把RP#加到VSS±0.2V而被允許。在這個模式下的電流抽取(ICC)是低的,諸如50μA的最大值。當CS#是HIGH時,器件將進入工作等待模式。在這個模式下,電流也是低的,諸如30mA的最大ICC電流。如果在寫、擦除、或保護操作期間CS#被加到HIGH,則ISM將繼續WRITE操作,以及器件消耗工作的Iccp功率,直至操作完成為止。
參照圖16,圖上表示按照本發明的一個實施例的自定時寫序列的流程圖。序列包括裝載命令寄存器(代碼40H)、接受工作的命令和行地址、以及接受寫命令和列地址。然后,序列提供狀態寄存器輪詢,以確定寫入是否完成。該輪詢監視狀態寄存器比特7(SR7),以確定它是否被設置為1。可以包括可任選的狀態檢驗。當寫入完成時,陣列被置于陣列讀模式。
參照圖17,圖上提供了按照本發明的一個實施例的完全的寫狀態-檢驗序列的流程圖。該序列查看狀態寄存器比特4(SR4),以確定它是否被設置為0。如果SR4是1,則在寫操作中有錯誤。序列也查看狀態寄存器比特3(SR3),以確定它是否被設置為0。如果SR3是1,則在寫操作期間有不正確的寫錯誤。
參照圖18,圖上提供按照本發明的一個實施例的自定時塊擦除序列的流程圖。該序列包括裝載命令寄存器(代碼20H),以及接受工作的命令和行地址。存儲器然后確定塊是否被保護。如果它不被保護,則存儲器對該塊執行寫操作(D0H),以及對于完成情形監視狀態寄存器。可以執行任選的狀態檢驗,以及存儲器被置于陣列讀模式。如果塊是保護的,則不允許擦除,除非RP#信號處在提高了的電壓(VHH)。
圖19表示按照本發明的一個實施例的完全的塊擦除狀態-檢驗序列的流程圖。該序列監視狀態寄存器,以確定是否出現命令序列錯誤(SR4或SR5=1)。如果SR3被設置為1,則出現不正確的擦除或非保護的錯誤。最后,如果SR5被置為1,則發生塊擦除或非保護錯誤。
圖20是按照本發明的一個實施例的塊保護序列的流程圖。該序列包括裝載命令寄存器(代碼60H),以及接受工作的命令和行地址。存儲器然后確定塊是否被保護。如果它不被保護,則存儲器對該塊執行寫操作(01H),以及對于完成情形監視狀態寄存器。可以執行任選的狀態檢驗,以及存儲器被置于陣列讀模式。如果塊是保護的,則不允許擦除,除非RP#信號處在提高了的電壓(VHH)。
參閱圖21,圖上提供了按照本發明的一個實施例的完全的塊狀態-檢驗序列的流程圖。該序列監視狀態寄存器比特3、4、和5,以確定是否檢測到錯誤。
圖22是按照本發明的一個實施例的器件保護序列的流程圖。該序列包括裝載命令寄存器(代碼60H),以及接受工作的命令和行地址。存儲器然后確定RP#是否處在VHH。存儲器執行寫操作(F1H),以及對于完成情形監視狀態寄存器。可以執行任選的狀態檢驗,以及存儲器被置于陣列讀模式。
圖23是按照本發明的一個實施例的塊非保護序列的流程圖。該序列包括裝載命令寄存器(代碼60H),以及接受工作的命令和行地址。存儲器然后確定該存儲器件是否被保護。如果它不被保護,則存儲器確定引導位置(塊0和15)是否被保護。如果沒有一個塊被保護,則存儲器對該塊執行寫操作(D0H),以及對于完成情形監視狀態寄存器。可以執行任選的狀態檢驗,以及存儲器被置于陣列讀模式。如果器件是保護的,則不允許擦除,除非RP#信號處在提高了的電壓(VHH)。同樣地,如果引導位置是保護的,則存儲器確定是否所有的塊應當是不保護的。
圖24顯示初始化和裝載模式寄存器運行的時序。模式寄存器通過接受裝載模式寄存器命令和在地址線上接受工作代碼(操作碼)而被編程。把運行碼裝入該模式寄存器中。如上所述,在功率接通后,非易失性模式寄存器的內容被自動地裝載到模式寄存器,以及不一定需要模式寄存器操作。
圖25表示時鐘中止模式操作的時序,以及圖26表示另一個脈沖串讀操作的時序。圖27表示交替的組讀出訪問的時序。這里,需要工作的命令來改變組地址。圖28上表示全頁脈沖串讀操作。應當指出,完全頁脈沖串不是自終結的,而需要終結的命令。
圖29通過使用數據屏蔽信號表示讀操作的時序。DQM信號被使用來屏蔽數據輸出,這樣,在DQ連接上不提供Doutm+1。
參照圖30,圖上表示寫操作的時序,后面跟隨對不同的組的讀出。在這個操作中,對組a執行寫操作,以及對組b執行隨后的讀出。在每個組中訪問同一個行。
參照圖31,圖上表示寫操作的時序,后面跟隨對同一個組的讀出。在這個操作中,對組a執行寫操作,以及對組a執行隨后的讀出。對于讀操作訪問不同的行,以及存儲器必須等待先前的寫操作被完成。這是與圖30的讀操作不同的,其中讀操作并不由于寫操作而被延時。
同步快閃存儲器提供沒有等待時間的寫操作。這是與SDRAM不同的,SDRAM要求系統提供對于寫操作的等待時間,就像讀操作那樣。所以寫操作并不從系統總線中取走與SDRAM花費的一樣多的周期。因此,可改進系統讀通過量,見圖12,其中寫入的數據Din在與寫命令和列地址同一個時鐘周期上被提供。圖12的時鐘周期T1不需要是NOP命令(見圖30)。讀命令可以在跟隨在寫數據后面的下一個時鐘周期上被提供。因此,雖然讀操作需要DQ連接在讀命令后的預定的數目的時鐘周期內(等待時間)保持為可以得到的,但DQ連接可以緊接在寫命令被提供后(沒有等待時間)被使用。這樣,本發明允許零總線換向能力。這是大大地不同于SDRAM的,在SDRAM中當在讀和寫操作之間交替時在系統總線上需要大量等待。同步快閃存儲器提供這兩個特性,以及可提高總線通過量。
參照圖32,本發明的系統32包括同步存儲器302,它具有內部的寫鎖存器304,被使用來存儲在DQ輸入端306上接受的寫數據。寫鎖存器被耦合到存儲器陣列310。另外,存儲器陣列可被安排成多個可尋址的塊。數據可被寫入到一個塊,而同時可對其他的塊執行讀操作。陣列的存儲單元可以是非易失性存儲單元。數據通信連接306被使用于與外部設備(諸如處理器320或其他存儲器控制器)的雙向通信。
數據緩沖器330可被耦合到數據通信連接,以便管理雙向數據通信。這個緩沖器可以是傳統的FIFO或流水線的輸入/輸出緩沖器電路。寫鎖存器被耦合在緩沖器與存儲器陣列之間,以便鎖存在數據通信連接上提供的數據。最后,控制電路被提供來管理在陣列上執行的讀和寫操作。
通過鎖存輸入寫數據,數據總線306(DQ)可被釋放以及通過使用鎖存的數據執行寫操作。在執行第一寫操作的同時,隨后的、對存儲器的寫操作可被禁止。然而,可以得到總線,以便在存儲器上立刻執行讀操作。本發明不應當與傳統的輸入/輸出緩沖器結構混淆。也就是,雖然現有的存儲器器件使用在DQ輸入路徑上的輸入緩沖器和在DQ輸出路徑上的輸出緩沖器,但是用于讀和寫操作的時鐘等待時間被保持為相同的。本發明可包括輸入/輸出緩沖器電路來提供與DQ路徑和外部處理器的接口。附加的寫鎖存器允許存儲器來隔離對存儲器的一個區域的寫路徑/操作,而同時允許在其他存儲器區域上的數據讀操作。
現有的快閃存儲器器件具有非常有限的同時操作能力。也就是,現有的快閃存儲器典型地在執行寫操作的同時,阻礙從存儲器的讀出。某些存儲器器件通過中止正在進行的寫操作、然后允許對陣列的讀出,而允許寫入的同時進行讀出。另外的快閃存儲器通過提供有限的扇區、這些扇區可被寫入而存儲器的其余部分可供讀出使用,而允許寫入的同時進行讀出。這樣的快閃存儲器的目的是消除系統中對于分開的EEPROM的需要。有限的扇區空間提供在快閃存儲器中的EEPROM單元,以及留下存儲器的其余部分用于快閃操作。
本發明提供被安排成類似于SDRAM的組結構的快閃陣列。在一個實施例中,64M的同步快閃存儲器被劃分成四個組,它們具有與64MSDRAM相同的尋址。這些組被進一步分成更小的可尋址的扇區,它們可被擦除或被編程。存儲器允許基于組的同時的讀和寫。因此,一個組可被寫入,而同時可以對任何其他的組執行同時讀出。
正如本領域技術人員已知的,SDRAM可以在每個組打開一個公共的行。讀和寫操作可以在打開的行和跨過陣列的組上順序地執行。
本同步快閃存儲器具有類似于SDRAM的組結構,允許在一個組被寫入的同時在每個組中打開一行。參照圖33,圖上表示本發明的處理系統400的一個實施例。同步快閃存儲器410通過雙向數據總線435被耦合到多個處理器440,442,444和446。存儲器包括被排列成多個組412,414,416和418的非易失性存儲單元的陣列。一般地示出讀/寫電路430以便管理與陣列的數據通信。在操作時,處理器,諸如處理器440,可起動對于陣列組412的行420的寫操作。在執行寫操作時,第二處理器,諸如處理器442,可以從第二陣列組的行420中讀出數據。這允許四個處理器在同步快閃存儲器上獨立地工作。本發明并不限于四個組或四個處理器。單個或多個處理器可對于一個組執行寫操作,而同時從其余的存儲器陣列組讀出數據,例如見圖32。因此,可以同時進行寫操作和多個同時的讀操作。
如上所述,本發明的同步快閃存儲器可以執行組特定的讀操作,而同時對另一個組執行寫操作。當第一和第二個外部處理器試圖對存儲器讀和寫時,出現一個問題。也就是,如果處理器試圖對同一個存儲器塊執行操作,則這兩個處理器需要知道,正在對存儲器執行哪些操作,以避免競爭。在現有的系統中,總線主機被使用來跟蹤由多個處理器執行的同時操作。為了減小總線主機的開銷,可以提供兩個任選項。
一個任選項是在存儲器中包括自動讀狀態模式,它在試圖對存儲器執行第二操作時輸出狀態寄存器的內容。也就是,當對存儲器執行寫操作時,在存儲器上執行的任何讀操作會輸出狀態寄存器的內容。這個任選項通過輸出狀態數據而中斷讀操作,即使是試圖對不同的陣列塊執行讀操作。第二個任選項是要求處理器讀出狀態寄存器來確定存儲器的寫狀態。利用這個任選項再次中斷讀操作。
本發明可提供兩個狀態讀出模式,來避免在對于不同的陣列組的同時讀操作時的干擾。在本同步快閃存儲器中提供的第一狀態模式提供整個存儲器器件的狀態。也就是,狀態寄存器表示是否正在對存儲器陣列或非陣列寄存器執行寫操作。這個狀態模式,在這里被稱為存儲器狀態模式,由來自外部處理器的請求而被選擇地激活。響應于存儲器狀態命令,存儲器的控制電路在DQ連接上提供狀態寄存器數據。
第二狀態模式是存儲器陣列組特定的模式。在這個模式下,狀態數據被自動地提供在DQ連接上。也就是,如果處理器對于陣列組起動寫操作,則該組被置于組狀態模式。在寫操作正在被執行的同時,任何以后的、從該組讀出的企圖導致在DQ連接上輸出狀態寄存器數據。因此,存儲器控制電路允許多處理器系統互相不干擾地一起工作。
存儲器包括組寄存器450(圖33),它可被設置來識別哪個陣列組正在被寫入。在操作時,存儲器對組寄存器進行編程,以及使用組寄存器作為指針。在讀操作期間,把讀訪問與組寄存器進行比較,以及如果在該組地址處有正在進行的寫操作,則存儲器自動輸出狀態寄存器數據。所以,本發明可以減小總線主機的開銷,因此,可以允許更好的多處理器能力。
單個脈沖串狀態如上所述,現有的快閃存儲器包括單個狀態讀操作。在這些存儲器中,一旦存儲器進入寫模式,從存儲器讀出的任何企圖都提供狀態寄存器的內容。這允許用戶監視寫操作如何在進行。
本發明具有狀態讀模式,它用狀態讀命令輸出來自狀態寄存器的數據。而且,同步快閃存儲器可以通過使用裝載命令寄存器操作被編程,以建立脈沖串長度和時鐘等待時間。這些設置值主要在讀操作期間被使用來控制輸出數據的時序。現有的快閃存儲器其間的問題是,輸出的寄存器數據沒有為受控的脈沖串長度和等待時間的輸出作好準備。
本存儲器可被置于寄存器讀模式,以及在一系列時鐘周期(脈沖串)內輸出寄存器數據。脈沖串的長度通過對模式寄存器進行編程而被預先規定,正如以上說明的。例如,模式寄存器可被設置為具有4個字的脈沖串長度和3的時鐘等待時間。在接受到狀態寄存器讀命令后,由于時鐘等待時間,本存儲器在3個時鐘周期后輸出狀態寄存器內容,以及由于脈沖串長度設置值,在4個周期內在總線(DQ連接)上繼續輸出狀態寄存器內容。寄存器讀操作不限于狀態寄存器讀數,也可應用于讀出器件識別寄存器、制造商識別寄存器、或用來存儲操作數據的任何多個工作寄存器。
通過使用脈沖串長度和時鐘等待時間設置值來控制寄存器數據輸出可減小在存儲器器件中進行寫操作的同時讀出時的混淆。例如,如果用戶需要知道在存儲器器件中操作的狀態,則可以起動讀狀態命令,以及狀態寄存器數據在全脈沖串長度內被輸出。
結論同步快閃存儲器包括非易失性存儲單元的陣列。存儲器陣列被排列成行和列,以及可被進一步排列成可尋址的塊。數據通信連接被使用來與外部設備(諸如,處理器或其他存儲器控制器)進行雙向數據通信。存儲器可以在一系列時鐘周期期間在數據通信連接上輸出來自存儲寄存器的數據,以提供寄存器數據的脈沖串。存儲器還可以按照規定的時鐘等待時間值提供寄存器數據。寄存器數據可包括狀態數據、操作設置值數據、制造識別、和存儲器器件識別。
權利要求
1.一種操作同步存儲器器件的方法,包括確定x個周期的讀脈沖串長度,以使從同步存儲器器件輸出的數據以x個接連的時鐘周期被輸出;起動寄存器讀操作,以便讀出被存儲在內部寄存器中的數據;以及在x個接連的時鐘周期內在外部數據連接上輸出被存儲在內部寄存器中的數據。
2.權利要求1的方法,還包括確定y個周期的時鐘等待時間,以使被存儲在內部寄存器中的數據在起動寄存器讀操作后的y個時鐘周期被輸出。
3.權利要求1的方法,其中內部寄存器數據包括操作數據,狀態數據、制造識別、或存儲器器件識別。
4.一種操作同步存儲器器件的方法,包括接受讀寄存器命令;以及響應于讀寄存器命令在x個時鐘周期內輸出來自同步存儲器器件的寄存器數據。
5.權利要求4的方法,其中同步存儲器器件是具有非易失性存儲單元的同步快閃存儲器器件。
6.權利要求4的方法,其中寄存器數據在接受到讀寄存器命令后的y個時鐘周期被輸出。
7.權利要求4的方法,其中寄存器數據包括操作數據、狀態數據、制造識別、或存儲器器件識別。
8.權利要求4的方法,其中x個時鐘周期從2、4、8或16個時鐘周期中選擇。
9.一種讀出在同步存儲器器件中的寄存器數據的方法,包括把來自處理器的寄存器讀命令提供到存儲器器件;在第一時鐘周期在存儲器器件的輸入端上接受寄存器讀命令;讀出被存儲在存儲器寄存器中的寄存器數據;在多個時鐘周期期間在同步存儲器器件的數據通信連接上輸出寄存器數據,其中寄存器數據的輸出在接受到寄存器讀命令后被延時了預定的時鐘等待時間間隔。
10.權利要求8的方法,其中寄存器數據包括操作數據、狀態數據、制造識別、或存儲器器件識別。
11.權利要求8的方法,還包括設置同步存儲器器件的脈沖串長度,以便規定寄存器數據被輸出的多個時鐘周期;以及設置時鐘等待時間間隔。
12.權利要求10的方法,其中脈沖串長度從2、4、8或16個時鐘周期中選擇。
13.權利要求8的方法,其中同步存儲器器件是具有非易失性存儲單元的同步快閃存儲器器件。
14.操作同步存儲器器件的方法,包括對存儲器器件的陣列執行寫操作;在執行寫操作期間,把來自處理器的寄存器讀命令提供到存儲器器件;在第一時鐘周期在存儲器器件的輸入端上接受寄存器讀命令;讀出被存儲在存儲器寄存器中的寄存器數據;在多個時鐘周期期間在同步存儲器器件的數據通信連接上輸出寄存器數據,其中寄存器數據的輸出在接受到寄存器讀命令后被延時了預定的時鐘等待時間間隔。
15.權利要求13的方法,其中寄存器數據表示存儲器器件的寫狀態。
16.權利要求13的方法,還包括設置同步存儲器器件的脈沖串長度,以便規定寄存器數據被輸出的多個時鐘周期;以及設置時鐘等待時間間隔。
17.一種同步存儲器器件,包括存儲單元的陣列;數據寄存器;時鐘信號輸入連接;以及控制電路,響應于寄存器讀命令在輸出連接上提供來自數據寄存器的數據,控制電路根據編程的讀脈沖串長度值在預定數目的時鐘周期內輸出數據。
18.權利要求16的同步存儲器器件,其中存儲單元是非易失性的。
19.權利要求16的同步存儲器器件,其中數據寄存器是狀態寄存器,以及數據表示存儲器器件的寫狀態。
20.權利要求16的同步存儲器器件,其中控制電路在讀寄存器命令后的預定時鐘等待時間間隔后,在輸出連接上提供數據。
21.一種處理系統,包括處理器;以及被耦合到處理器的非易失性同步存儲器器件,包括,存儲單元的陣列,狀態寄存器,時鐘信號輸入連接,以及控制電路,響應于由處理器提供的寄存器讀命令在輸出連接上提供來自狀態寄存器的數據,控制電路根據編程的讀脈沖串長度數值在預定數目的時鐘周期內輸出數據。
22.權利要求20的處理系統,其中控制電路在讀寄存器命令后的預定時鐘等待時間間隔后,在輸出連接上提供數據。
全文摘要
同步快閃存儲器包括非易失性存儲單元的陣列。存儲器陣列被排列成行和列,以及可被進一步排列成可尋址的塊。數據通信連接被使用來與外部設備(諸如,處理器或其他存儲器控制器)進行雙向數據通信。存儲器可以在一系列時鐘周期期間在數據通信連接上輸出來自存儲寄存器的數據,以提供寄存器數據的脈沖串。存儲器可以按照規定的時鐘等待時間值提供寄存器數據。寄存器數據可包括狀態數據、操作設置值數據、制造識別、和存儲器器件識別。
文檔編號G11C7/10GK1466762SQ01816420
公開日2004年1月7日 申請日期2001年7月27日 優先權日2000年7月28日
發明者F·F·魯帕瓦爾, F F 魯帕瓦爾 申請人:微米技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1