200826104 九、發明說明 相關申請案之交互參照 本申請案主張以下之優先權:申請於2006年8月22 日之美國臨時專利申請案 (U.S Provisional Patent application)第 60/839329 號,申請於 2007 年 2 月 16 日 之美國臨時專利申請案第 60/902003號、及申請於2007 年3月2日之美國臨時專利申請案第6 0/8 92705號。 # 【發明所屬之技術領域】 本發明大體上係關於半導體記憶體裝置,特別是關於 一種具有多個相互連接之半導體記憶體裝置及具有用於記 憶體裝置之指令結構的系統。 【先前技術】 半導體記憶體裝置通常見於許多工業及消費性電子產 ί 品。對於日漸增加之更高記憶體容量的需求以及對於更小 尺存之要求,使得對於記憶體密度的需求難以達成。結 果,多個記憶體裝置被連接起來以滿足對於大記憶體的需 求。這種多裝置記憶體系統可以共同被建置在單一的封裝 內(亦即,一個多重晶片系統),或是在印刷電路板上將 多個記憶體封裝集合起來。 當多個記憶體裝置被互相連接而作爲單一系統作用 時’控制器在個別的記憶體裝置及外部介面之間管理資料 流’其中外部介面提供對於在系統內之儲存資料、存取資 -5- 200826104 料、及操弄資料的請求。指令結構被控制器使用以回應對 於這些含有資料之個別記憶體裝置的請求。指令結構可以 與該相互連接之記憶體裝置的組態相關,而且可以影響系 統的表現。例如,若個別的記憶體裝置藉由共用匯流排與 控制器通訊,在任何給定時間點則只有該等個別記憶體裝 置的其中一個可以作用(asserted)。若個別的記憶體裝 置以串聯方式互相連接在一個只有一個記憶體裝置與控制 f 器相連接之鏈狀組態,用於位在鏈狀後位之該記憶體裝置 % 的指令則會因爲在較前位之記憶體正在執行不能被中斷之 指令,而有顯著的延遲。在以串聯方式連接之記憶體裝置 的組態下,當在一個裝置處理指令時,使所有將傳送到後 續的記憶體裝置的指令停止,將導致暫停系統內之任何額 外之處理程序。 【發明內容】 1 發明槪述 依照本發明之一個觀點,提出一種模組化指令結構, 包括:包括位址以及庫位址之裝置識別碼,該位址用於複 數個記憶體裝置的其中一個記憶體裝置,該庫位址用於在 該複數個記憶體裝置的其中該一個記憶體裝置中之複數個 記憶體庫的其中一個記憶體庫;指令識別碼,包括運算 碼,代表由該複數個記憶體裝置的其中該一個記億體裝置 所將執行之運算。 依照本發明之另一觀點,提出一種模組化指令集合, -6 - 200826104 包括複數個可分離之指令,代表自處理器之對於複數個記 憶體裝置的其中一個記憶體裝置之存取的請求,該複數個 分離指令的各個指令包括:包括位址以及庫位址之裝置識 別碼,該位址用於該複數個記憶體裝置的其中該一個記憶 體裝置,該庫位址用於在該複數個記憶體裝置的其中該一 個記憶體裝置中之複數個記憶體庫的其中一個記憶體庫; 指令識別碼,包括運算碼,代表由該複數個記億體裝置的 r 其中該一個記憶體裝置所執行之運算。 % 依照本發明之另一觀點,提出一種系統,包括:記憶 體系統,包括用於儲存資料之至少一個記憶體裝置;處理 器,用來管理對於該記憶體系統之存取的請求;以及控制 器,用來將來自該處理器之請求轉譯成一個或更多個可由 該至少一個記憶體裝置所解譯之可分離之指令,各個指令 具有包括位址識別碼以及指令識別碼之模組化結構,該位 址識別碼用於該至少一個記憶體裝置的其中一個記憶體裝 ( 置,該指令識別碼代表由該至少一個記憶體裝置的該單一 個記憶體裝置所執行之運算,該至少一個記憶體裝置以及 該控制器爲了通訊而以串聯方式連接。 依照本發明之另一觀點’提出一種控制器,用於具有 複數個用於儲存資料之記憶體裝置的系統,該控制器以串 聯方式用於與該複數個記憶體裝置通訊,該控制器包括: 第一連線,用來接收來自該處理器之對於該複數個記憶體 裝置之存取的請求;轉譯器,用來將來自該處理器之該請 求轉譯成複數個可由該複數個記憶體裝置解譯之可分離之 200826104 指令,各個指令具有包括位址識別碼以及指令識別碼之模 組化的結構,該位址識別碼用於該複數個記憶體裝置的其 中一個記憶體裝置,該指令識別碼代表該複數個記憶體裝 置的其中一個記憶體裝置所執行之運算;及第二連線,以 串聯方式與該複數個記憶體裝置的其中一個記憶體裝置通 訊,用來發佈該複數個可分離指令。 依照本發明之另一觀點,提出一種對於至少一個記憶 體裝置之存取之請求的方法,該方法包括:決定位址,該 位址包含用於該至少一個記憶體裝置之位址;辨識複數個 運算,該複數個運算結合起來引起對於該至少一個記憶體 裝置之存取之請求;及提供複數個給該至少一個記憶體裝 置之可分離的指令,該等指令的各個指令包含裝置識別碼 以及指令識別碼,該裝置識別碼包括該位址,該指令識別 碼包括該複數個指令的其中之一個指令,其中該指令識別 碼可由該記憶體裝置所解譯。 依照本發明之一實施例,提出一種指令結構,包括: 複數個可分離之指令,代表對於複數個記憶體裝置的其中 一個記憶體裝置之存取的請求。該等複數個可分離指令的 各個指令包含:裝置識別碼,包括位址及庫位址,該位址 用於該複數個記憶體裝置的其中該一個記憶體裝置,該庫 位址用於在該複數個記憶體裝置的其中該一個記憶體裝置 中之複數個記憶體庫的其中一個記憶體庫;及指令識別 碼,包括運算碼,代表由該複數個記憶體裝置的其中該一 個記憶體裝置所執行之運算。 -8 - 200826104 依照本發明之另一實施例,提出一種模組化指令結 構,包括:裝置識別碼,包括位址以及庫位址,該位址用 於該複數個記憶體裝置的其中該一個記憶體裝置,該庫位 址用於在該複數個記憶體裝置的其中該一個記憶體裝置中 之複數個記憶體庫的其中一個記憶體庫;及指令識別碼, 包括運算碼,代表由該複數個記憶體裝置的其中該一*個S己 憶體裝置所執行之運算。 依照本發明之另一實施例,提出一種系統,包括:記 憶體系統,包含用於儲存資料之至少一個記憶體裝置;處 理器,用來管理對於該記憶體系統之存取之請求;及控制 器,用來將來自該處理器之該請求轉譯成一個或更多個可 由該至少一個記憶體裝置所解譯之可分離之指令,各個指 令具有包括位址識別碼以及指令識別碼之模組化結構,該 位址識別碼用於該至少一個記憶體裝置的其中一個記憶體 裝置,該指令識別碼代表由該至少一個記憶體裝置的其中 該一個記憶體裝置所執行之運算;該至少一個記憶體裝置 及該控制器爲了通訊而以串聯連接。 例如,該至少一個記憶體裝置包含至少一個記憶體 庫。該位址識別碼可包含裝置位址以及庫位址’該裝置位 址用於該至少一個記憶體裝置的其中一個記憶體裝置,該 庫位址用於該至少一個記憶體庫的其中一個記憶體庫。例 如,該記憶體裝置爲快閃裝置,如NAND -類型之快閃記 憶體裝置。 若當該記憶體系統包含複數個記憶體裝置時,該裝置 -9- 200826104 可以以串聯方式相連接、或連接至共用匯流排。 依照本發明之另一實施例’提出一種控制器,用於具 有複數個用於儲存資料之記憶體裝置,該控制器以串聯方 式用於與該複數個記憶體裝置通訊,該控制器包括:第一 連線,用來接收對於該複數個記憶體裝置之存取的請求; 轉譯器,用來將該請求轉譯成複數個可由該複數個記憶體 裝置所解譯之可分離之指令,各個指令具有包括位址識別 f 碼以及指令識別碼之模組化的結構,該位址識別碼用於該 複數個記憶體裝置的其中一個記憶體裝置,該指令識別碼 代表該複數個記憶體裝置的其中一個記憶體裝置所執行之 運算;及第二連線,用來發佈該複數個可分離指令用來與 該複數個記憶體裝置的其中一個記憶體裝置通訊。 依照本發明之另一實施例,提出一種方法,包括:決 定位址,該位址包含記憶體裝置之位址;辨識複數個運 算,該複數個運算引起對於一個記憶體之存取的請求;及 I 提供複數個用於該記憶體之可分離指令,該等指令的各個 指令包含裝置識別碼以及指令識別碼,該裝置識別碼具有 記憶體裝置位址,該指令識別碼具有該複數個運算的其中 一個運算。 本方法具優勢的是可以用來將對於記憶體裝置之存取 之請求轉譯成複數個可由該記憶體裝置所解譯之可分離之 指令。可以使用本方法來將對於記憶體裝置之存取之請求 轉譯成複數個可由該記憶體裝置解譯之可分離之指令。 對於熟悉此項技術的人士而言,參考以下對於本發明 -10- 200826104 之特定實施例之說明與圖式之後,將可瞭解本發明之另外 觀點及特點。 【實施方式】 詳細說明 在以下示範性實施例之詳細說明中,將參照構成實施 例之一部分的附圖,並利用圖式來說明特定示範實施例。 以下將以充分詳細的方式說明這些實施例,使那些熟悉此 項技術的人士得以實現本發明,而且應理解的是,於不背 離本發明範疇之前提下,可使用其他實施例以及進行邏 輯、機械、電路及其他方面之變更。因此,以下之說明不 應被視爲是一種限制。 半導體記憶體裝置常被互相連接來構成大容量的記憶 體系統。圖1說明可應用本發明之實施例的系統。參考圖 1,主機系統102具有在主機系統內之處理器103,主機系 統1 02連接至一系統,該系統包含記憶體系統1 〇6及用於 控制該記憶體系統的控制器1 04。記憶體系統1 〇6包含至 少一個記憶體裝置(例如:兩個快閃記憶體裝置1 07-0及 107-1 )。控制器104接收來自該主機系統1〇2之請求, 並將該請求轉譯成可由該記憶體系統1 0 6所解譯之指令。 控制器1 04亦將該主機系統1 02所使用之用於記憶體系統 1 0 6之達轉位址轉譯成記憶體系統1 〇 6之實體位址。控制 器1 04確保將儲存於憶體系統1 〇6中之資料分配於記憶體 裝置107-0及107-1之間。錯誤校正碼( error correcting 200826104 c o d e,E C C )亦由控制器丨〇 4所產生以檢驗指令執行中之 錯誤。 圖2顯示可應用本發明之實施例之系統組態之示範 例。參考圖2,控制器1 1 2經由共用匯流排1 1 4與記憶體 系統通訊’該記憶體系統包括複數個記憶體裝置(例如: 四個快閃記憶體裝置1 〇 8 - 〇至1 〇 8 - 3 )。控制器1 1 2使用 共用匯流排1 1 4將資料移入或移出該記憶體裝置丨〇 8 _ 〇至 108-3。以這種組態,—次只能藉由作用(asserting)晶片 啓動訊號(chip enable signal )來作用 (assert)—個指 定之快閃記憶體裝置。 圖3顯示可應用本發明之實施例之系統組態之另一實 例。憶體系統包含以串聯方式連接之記憶體裝置。參考 圖3 ’控制器丨丨6與包含複數個記憶體裝置(例如:四個 快閃記憶體裝置109-0至109-3)之記憶體系統以迴圈組 態互相連接。因爲該記憶體裝置i 〇 9 _ 〇至i 〇 9 _ 3以串聯方 式互相連接,僅有其中一個裝置經由控制器1 1 6接收到進 入到記憶體系統之資料及訊息。記憶體裝置109-0至丨09-3中的各個記憶體裝置最多與兩個記憶體裝置耦合(亦 即’前一個及後一個裝置)。如此一來,在串聯連接下, 進入到記憶體系統之資料及訊息經過每一個其他的記憶體 裝置才到達最後一個裝置109-3。 快閃記憶體裝置可爲任一型態之快閃記憶體,例如 NAND-、NOR-、AND-類型之快閃記憶體。而且記憶體裝 置可爲隨機存取記憶體。 200826104 NAND快閃記憶體裝置通常被互相連接以提供低成本 局密度之記憶體。圖4顯示NAND快閃裝置400的功能性 組件(component )。在NAND快閃裝置4〇〇中,經由在 裝置之晶片中之共用的I/O接腳多工操作指令、位址、 及資料。NAND快閃裝置400具有記憶體庫402,記憶體 庫402爲具有複數個可抹除區塊(erasabie block)之單兀 陣列結構(cell array structure )。這些可抹除區塊中的 每一個區塊被次分割爲複數個(m)可編程之分頁 (Page )。這些分頁中的各個分頁以(j+k )位元組組 成。分頁被進一步分割爲資料儲存於其中之j -位元組資 料儲存區域,而且分開的k -位元組通常用於錯誤管理功 能 (error management function ) 〇 各個分頁通常包括 2,122位元組,其中的2048位元組使用於資料儲存,64 位元組使用於錯誤管理功能。記憶體庫402由分頁所存 取。雖然圖4顯示單一記憶體庫402,NAND快閃裝置 400可以有多於一個的記憶體庫402。這種記憶體庫402 的各個可以能夠執行同時發生之分頁讀取、分頁程式、分 頁抹除及區塊抹除等運算。 用於存取記憶體庫402之指令由指令暫存器4 1 4及控 制邏輯416自控制器所接收(例如,圖3中所示之控制器 1 1 6 )。所接收之指令進入指令暫存器4 1 4並停留在此, 直到執行。控制邏輯4 1 6將指令轉換成針對記憶體庫402 之可被執行之形式。指令通常藉由插入在晶片外部封裝上 之不同插腳而進到NAND快閃裝置400,其中不同插腳可 -13- 200826104 以用來表示不同指令。例如,指令可以包含晶片啓動、讀 取啓動、寫入啓動、及寫入防止。讀取及寫入指令之執行 以分頁爲基本單位,而抹除指令之執行以區塊爲基本單 位。 當指令由指令暫存器414及控制邏輯416接收時,由 輸出驅動器412接收在記憶體庫402中之用於分頁的位 址,該記憶體庫402與該指令相關。位址被提供給位址緩 衝器及鎖存器4 1 8,而後被提供給控制及預先解碼器 (control and predecoder) 406、感測放大器(S/A)及資 料暫存器404、及橫列解碼器408,用來存取由該位址所 標示之分頁。資料暫存器4 04接收完整的分頁後,該分頁 被提供至I/O (輸入/輸出)緩衝器及鎖存器(latches ) 410而後至輸出驅動器412,用於自NAND快閃裝置400 之輸出。 例如,讀取指令由指令暫存器4 1 4及控制邏輯4 1 6接 收,且附加位址由位址緩衝器及鎖存器4 1 8所接收。位址 緩衝器及鎖存器4 1 8決定位址所在之分頁,並將對應於該 分頁之橫列位址提供至該橫列解碼器408。對應的橫列被 啓動。資料暫存器及S/A 404感測分頁,並將資料自該分 頁移轉至資料暫存器4 04。一旦來自於該完整分頁之資料 已經被轉移至該資料暫存器404時,資料經由I/O緩衝器 及鎖存器4 1 0以及輸出驅動器4 1 2從該裝置被依序讀取。 處理程式指令也以分頁爲基本單位。程式指令由指令 暫存器4 1 4及控制邏輯4 1 6所接收,附加位址由位址緩衝 -14- 200826104 器4 1 8所接收,輸入資料由輸出驅動器4 1 2所接收。輸入 資料經由I/O緩衝器及鎖存器410移轉至資料暫存器 404。一旦所有的輸入資料在資料暫存器404中時,利用 該輸入資料,編程將儲存該輸入資料之分頁。 處理抹除指令以區塊爲基本單位。抹除指令由指令暫 存器4 1 4及控制邏輯4 1 6所接收,而且區塊位址由位址緩 衝器4 1 8所接收。 典型之NAND快閃記憶體指令使用兩個指令循環來完 成指令之載入。表1顯示NAND快閃記憶體指令集合之實 例。 表1 : NAND快閃記憶體之指令集合 功能 第一循環 第二循環 讀入(Read) OOh 30h 用於回返複製之讀入(Read for Copy Back) OOh 35h 讀入 ID(ReadlD) 90h 讎 重設(Reset) FFh 分頁程式(Page Program) 80h lOh 快取程式(Cache Program) 80h 15h 複製-回返程式(Copy- Back Program) 85h lOh 區塊抹除(Block Erase) 60h DOh 隨機資料輸入(Random Data Input) 85h 隨機資料輸出(Random Data Output) 05h EOh 讀入狀態(Read Status) 70h 許多在兩個指令循環內發佈至NAND快閃記憶體之指 令被認爲是一種程序,而且既然如此則不能被打斷、中 斷、暫停、或再重新開始。當NAND快閃記憶體正在接收 -15- 200826104 這兩個指令循環時’除了重新設定(reset )指令及讀入狀 態指令之外,NAND快閃記憶體不能接受其他指令。在具 有多個記憶體庫之快閃記憶體裝置中,這種指令結構限制 了記憶體庫的使用’因爲當一個記憶體庫正在處理指令 時’另一*個記憶體庫保持休止(inactive)狀態。當所進 行之指令具有長的內部核心運算時(例如,以20 // s讀 頁,以2 0 0 // s分頁程式,及以1 · 5 m s區塊抹除),此指 令結構導致低的輸入/輸出使用程度。在具有多個以串聯 方式互相連接之快閃記憶體之系統中,因爲正在處理指令 的一個快閃記憶體裝置直到該處理完成之前,不能將其他 指令傳送至接續的快閃記憶體裝置,所以這種指令結構可 能會降低整個系統的處理速度。 依照本發明之實施例,可應用至系統的指令結構包含 具有位元組之指令欄位(command field)。例如,指令欄 位具有用於裝置位址及記憶體庫位址之第一位元組,及用 於運算碼之第二位元組。 圖5 A,顯示模組化指令結構之實例,配合NAND快 閃記憶體使用。在此特例中,模組化指令結構以位元組爲 基本單位。參考圖5A,模組化指令結構500包含第一及 第二位元組5 02及5 08 (位元組1及2 ),各個位元組具 有複數個位元。在此特例中,模組化指令結構之第一及第 二位元組502及5 0 8分別包含8-位元位址及8-位元運算 碼。第一位元組502具有用於目的記憶體裝置之6_位元位 址5 04。當系統包含複數個記憶體裝置時’ 6 -位元位址 -16- 200826104 504被用來分辨不同的記憶體裝置。第一位元組502亦包 含用於記憶體裝置之記憶體庫之2-位元位址506,配合具 有複數個記憶體庫之記億體裝置使用。指令結構之第二位 元組50 8包含8-位元運算碼510,指示由該記憶體裝置所 將執行之指令。表2爲運算碼之實例。 表2 :用於第二位元組之運算碼之實例 第二位元組 (OP7-OPO) 指令 位址輸入 0 0 0 0 0 0 0 0 Page Read (00h) 橫列 0 0 0 0 0 0 1 1 Burst Data Read (03h) 直欄 0 0 0 0 0 1 0 1 Page Read for Copy (09h) 橫列 0 0 0 0 1 0 0 1 Burst Data Load Start (09h) 直欄 0 0 0 0 1 0 1 0 Burst Data Load (OAh) 直欄 0 0 0 0 1 1 1 1 Page Program(OFh) 橫列 0 0 0 1 0 0 1 0 Address Input for Block Erase(12h) 橫列 0 0 0 1 0 1 1 1 Block Erase(17h) Μ j\\\ 0 0 0 1 0 1 0 0 Address Input for Page-pair Erase (14h) 橫列 0 0 0 1 1 1 1 0 Page-pair Erase(lEh) >fnr 11117 0 0 1 1 0 0 1 1 Read Device Status(33h) 4rrr 1111 * 0 0 1 1 0 1 0 1 Read Device ID(35h) M J \ w 0 0 1 1 1 0 0 1 Write Device Address(39h) Λ\ i Γ mu j\w 0 0 1 1 1 0 1 0 Write Configuration Register^ Ah) >frrr ΤΓΓΓ j\\\ 0 0 1 1 1 1 1 1 Reset(3Fh) ivcr ~ΝΤΊ: J \\\ 指令結構有許多變化。2-位元組之指令結構之另一實 例爲:該第一位元組具有8-位元裝置位址(DA ),且該 第二位元組具有4 -位元運算碼及4 -位元記憶體庫位址 (BA)。 -17- 200826104 圖5 B顯示配合N AND快閃記憶體使用之模組化指令 結構之另一實例。參考5 B,指令結構5 2 0包含複數個位 元組。在圖示之範例中,指令結構5 2 0具有2 -位元組之指 令結構(位元組1及2 )及3 -位元組之橫列位址5 2 2 (位 兀組3 - 5 )。在圖5 B中,2 -位兀組指令結構之部分結構與 在圖5 A中所示之2 -位元組模組化指令結構相同。第一位 元組502具有用於目的記憶體裝置之6-位元位址504及用 於記憶體庫之2-位元位址。第二位元組5 08具有8-位元運 算碼510。3-位元組橫列位址522提供24-位元位址524, 用於在第一位元組5 02中所標示之記憶體庫中之橫列。此 24-位元(亦即3-位元組)橫列位址524用於指令,因爲 需要橫列位址來標明(specify )將執行指令之橫列所在。 圖5 C顯示配合N AND快閃記憶體使用之模組化指令 結構之另一實例。參考5C,指令結構540包含複數個位 元組。在圖示之範例中,指令結構540具有2-位元組指令 結構(位元組1及2 )及2-位元組之橫列位址542 (位元 組3-4)。在圖5C中之2-位元組指令結構之部分結構與 在圖5B中之具有第一位元組5 02之2-位元組模組化指令 結構相同,該第一位元組5 02具有用於目的記憶體裝置之 6-位元位址504以及用於記憶體庫之2-位元位址5 06。第 二位元組508具有8-位元運算碼510。2-位元組位址542 提供16-位元位址544,用於在第一位元組5 02中所標示 之記憶體庫中之直欄。此16-位元(亦即2-位元組)直攔 位址544用於指令,因爲需要直欄位址來標明將執行指令 -18- 200826104 之直欄所在。 指令結構500、520、及540與正被送至記憶體裝置 之指令相關。如表2中所標示,一些指令需要額外之與指 令一齊傳送之位址(亦即橫列或直欄位址)。因此,指令 結構500、520、及540與第二位元組5 0 8中之運算碼相 關。 參考圖1及5A-5C,控制器104將來自主機系統102 之請求轉譯成指令結構500、52〇、及540的其中一個,而 後能由快閃記憶體裝置解譯。控制器1 04根據運算碼5 1 0 判斷橫列位址、直欄位址或無任何位址是否將被傳送至記 憶體裝置。控制器104形成可以被記憶體裝置107-0、 107-1所使用之指令以執行運算。 指令結構500、520、及540中的每一個指令結構包含 記憶體裝置位址504及記憶體庫位址5 06兩者。因此,指 令之處理可以由不同的記憶體裝置打斷(break )或暫 停。再者,因爲第一位元組502包含所有位址的資訊,各 個記憶體裝置可以非常快的評定在第二位元組5 08中所標 示之指令是否被指定用於它們,或者是將傳送到下一個記 憶體裝置。 雖然模組化指令結構500、5 20、及540可以用在任何 種類之 NAND快閃記憶體裝置,下面實例以使用 HLNANDTM(超連結 NAND, ( HyperLink Hand ))快閃 記憶體裝置爲例說明模組化指令結構5 00、520、及540中 之不同指令的處理。HLNANDTM快閃裝置的詳細說明見申 -19- 200826104 請於 2006年 8月 22日之美國臨時專利申請案第 60/83 9,329 號。 模組化指令結構5 0 0、5 2 0、及5 4 0之輸入順序與操作 碼中之特殊指令相關,範例示於表3。所有的指令、位 址、及資料以最高有效位元(most significant bit,MSB) 爲起點,被移入及移出該裝置。在HLNANDTM快閃裝置 中,當 「序列資料-輸入啓動」(Serial Data-Input Enable (SDE))在”高位“時,在正向或負向的時脈邊緣 (clock edge )取樣序列資料輸入(serial data input, SDn)。在示於表3中之特例中,各個指令包括1-位元組 之標的位址(target address),以”TDA“(第一位元組) 表示之,如示於圖5A至5C中之指令結構500、520及 540,各個指令亦包括所代表之1·位元組操作碼(第二位 元組)。一旦SDE在邏輯上爲”高位“時,1-位元位址被移 入,接著爲1 -位元組操作碼。例外的情況是:「Write Device Address」(寫入裝置位址),在「Write Device Address」中進入此裝置之第一位元組爲讀頁指令。與此 指令有關的是,表3中以”R“表示之3 -位元組橫列位址、 或是表3中以”C“表示之2-位元組直欄位址(第3到第5 位元組)。若是資料被供應至快閃裝置,而後資料輸入於 該裝置之任意橫列或直欄位址(如果恰當的話),則在表 3中以”D “表示。 -20- 200826104 表3 :模組化指令輸入順序 指令 鞴 i入位元組號i 瑪 Ist 2nd 3rd 4th 5th 6th yth … 2115th 2116th Page Read(讀頁) TDA OOh R R R - 一 一 一 Burst Data Read(叢發資料讀入) TDA 03h C C - - • • - • Page Read for Copy (用於複製 之分頁讀入) TDA 05h R R R - 圓 - Burst Data Load Start (叢發資 料載入開始) TDA 09h C C D D D • · D D Burst Data Load (叢發資料載入) TDA OAh C C D D D … D D Page Program份頁程式) TDA OFh R R R - 睡 • Address Input for Block Erase (用於區塊抹除之位址輸入) TDA 12h R R R - - - - - Block Erase (區塊抹除) TDA 17h Address Input for Page-pair Erase (用於分頁-對抹除之位址輸入) TDA 14h R R R - 讎 - - 一 Page-pair Erase (分頁-對抹除) TDA lEh Data Device Status (分頁-對抹除) TDA 33h Read Device ID (讀入裝置辨識號碼) TDA 35h - 麵 Write Device Address (寫入裝置位址) 00h 39h Write Configuration Register (寫入組態暫存器) TDA 3Ah D - - 垂 - - - - Reset (重新設定) TDA 3Fh 一 用於不同運算之使用模組化指令結構5 00、520、及 5 40之HLN AND TM快閃裝置之運算實例說明於下。以下實 例包含時序(timing )簡圖,表示記憶裝置(例如‘,示於 圖1至3中之記憶裝置)之處理過程。圖中顯示用於 HLNANDTM快閃裝置之時序圖中之訊號。晶片啓動訊號 - 21 - 200826104 (chip enable ) ( CE # )標示:當此訊號「低」時,記憶 裝置啓動。序列資料輸入訊號(serial data input) (SDn )標示指令、位址、及輸入資料。序列資料輸出訊 號(serial data output) ( SQn)標示在讀入運算期間之輸 出資料之傳輸。序列資料輸入啓動訊號(serial data input enable ) ( SDE )控制資料輸入,所以當此訊號「高」 時,指令位址及輸入資料(SDn )被鎖存(latched )至裝 置中。當序列資料輸出啓動訊號(SQE ) 「高」時,此訊 號啓動輸出(SQn)。 如果在系統開始運算時,裝置位址指定給所有以串聯 方式聯接之裝置時(例如,圖3中所示之組態),指令之 第一位元組不需要「Write Device Address」(寫入裝置位 址)。 序列裝置位址之指定揭示於美國臨時專利申請案第 6 0/7 8 7,7 1 0號,其申請於2006年3月28,及美國臨時專 利申請案第60/802,64 5,其申請於2006年3月23。 圖6A顯示可應用本發明之實施例之快閃控制器之實 例。該快閃控制器對應於圖1、2、及3中所示之控制器 104、112、及 116° 參考圖 6 A,快閃控制器 3 1 0包含中央處理單元 (CPU) 3 12 ;以及具有隨機存取記憶體(RAM) 3 16及唯 讀記憶體(ROM ) 3 1 8之記憶體3 1 4。而且,快閃控制器 3 10包含快閃指令引擎322、錯誤校正碼(ECC )管理器 3 24、及快閃裝置介面326。再者,快閃控制器310包含主 -22- 200826104
機介面控制器3 3 2及主機介面3 3 4。CPU 3 1 2、記憶體 3 14、快閃指令引擎322、及主機介面控制器3 3 2經由共用 匯流排連接。主機介面 3 3 4經由匯流排、接點連線 (connection link )、及介面(例如,ΑΤΑ (Advanced Technology Attachment ) PATA ( Parallel ATA ) 、SATA (Serial ATA) 、USB ( universal serial bus))等等連接 至外部裝置。主機介面3 34由主機介面控制器3 3 2所控 制。CPU 312之運算利用儲存在ROM 3 1 8中之命令以及儲 存於RAM 3 16中之經處理過的資料。快閃指令引擎322 解譯指令,快閃控制器310經由快閃裝置介面3 26控制快 閃裝置之運算。ECC管理器324產生ECC,且進行ECC 之確認。當錯誤發生,則產生錯誤訊息。快閃控制器3 1 0 可以經組構以作爲在晶片上之系統、在封裝或是在多個晶 片中之系統。 圖6B顯示當圖6 A之快閃指令引擎3 22發佈指令給快 閃裝置時,快閃指令引擎3 22之功能性部分之實例。參考 圖1、6A、及6B,快閃指令引擎322將來自主機系統102 之請求解譯成複數個由快閃記憶體裝置可解譯之可分離指 令。所以,快閃控制器3 1 0將對於存取快閃記憶體裝置之 請求轉譯成至少一個使用圖5 A至C所示之模組化指令結 構之指令。快閃控制器3 1 0包含與匯流排3 3 0之連接,該 匯流排3 3 0連接至主機介面控制器3 3 2。該連接啓動與主 機系統1 〇2之間的通訊,用於接收來自主機系統1 02之處 理器1 03對於快閃記憶體裝置之存取的請求。快閃控制器 -23- 200826104 3 1 〇亦包含與快閃記憶裝置通訊之快閃裝置介面3 2 6。快 閃裝置介面3 2 6作爲另一種連接方式,用於將指令發佈至 記憶體系統之快閃記憶體裝置。 快閃指令引擎3 22包含指令結構機構5 5 8、記憶庫插 入(interleave )機構560、裝置插入機構5 62、位址辨識 機構5 64、指令辨識機構566、橫列位址辨識機構5 68、及 直欄位址辨識機構5 7 0。指令結構機構5 5 8處理將由記憶 體裝置所使用之模組化指令結構(例如,示於圖5 A至C 中之模組化指令結構)。位址辨識機構5 64及指令辨識機 構5 66分析來自於主機系統102之請求,以便分別自其中 擷取記憶體裝置及/或庫位址、及指令。指令辨識機構566 判斷將被使用於施行該請求之多個指令。指令中的各個指 令是可分離的,而且共同引起來自於主機系統102之請 求。指令辨識機構566收集包括來自位址辨識機構5 64之 位址之資訊以用公式表示指令。若構成該項請求之指令中 的任一指令與橫列或直欄位址相關,指令辨識機構5 66則 分別引發(enlist)橫列位址辨識機構5 6 8或直欄位址辨 識機構570之使用,來獲得組成部分指令之橫列或直欄位 址。 庫插入機構560及裝置插入機構562分別經由裝置介 面3 2 6指揮將傳送至多個記憶體庫或記憶體裝置之多個指 令。模組化指令結構經組構以致於具有多數個記憶體庫之 快閃記憶體裝置可使各個記憶體庫同時進行處理程序。同 樣的,模組化指令結構經組構,以致於以串聯方式連接的 -24- 200826104 記憶體裝置可以同時進行處理程序。庫插入機構5 60針對 在相同的記憶體裝置中之不同記憶體庫插入指令(見圖16 至21,爲多數個記憶體庫中之同時運算之實例)。裝置插 入機構5 62針對在相同的記憶體系統中之不同記憶體裝置 插入指令(見圖22至28)。 ECC管理器324產生錯誤校正碼(ECC ),以確認已 經被成功及完全地執行的指令。 圖6B說明快閃指令引擎322之功能性組件,而且對 於嫻熟此項技術的人士而言可以以許多種組態加以實現。 模組化指令可以包含「讀頁」(P a g e R e a d )指令。 輸入具有指令結構之「讀頁」指令的第一循環,緊接著輸 入用於在標的分頁(target page)位址中之起始直欄位址 之直欄位址以及輸入用於標的分頁位址之橫列位址。「讀 頁」指令之第二循環被輸入,接著裝置忙線一段時間(例 如,20 # s ),用來完成內部讀頁運算。這種等待時間過 後,執行「叢發資料讀入」(Burst data Read)運算,自 裝置之緩衝區取回資料。從此運算開始時至「叢發資料讀 入」結束,裝置不能執行任何運算。 圖7顯示「讀頁」指令之流程。在步驟6 0 2中,用於 系統之控制器產生「讀頁」指令,「讀頁」指令包含目的 快閃記憶體裝置位址、記憶體庫位址、「讀頁」運算碼及 用於定義將要讀入分頁之橫列的3 -位元組橫列位址。「讀 頁」指令通過組成系統之快閃裝置,直到目的快閃記憶體 裝置位址與接收「讀頁」之快閃裝置相符合。包含橫列位 -25- 200826104 址之「讀頁」指令由目的快閃記憶體裝置所接收。「讀 頁」指令被提供至目的快閃裝置之指令暫存器,而後啓動 其中之位址插入循環以便加入3-位元組橫列位址。一旦位 址插入循環結束,「讀頁」運算在快閃裝置中開始,而且 在所選擇之分頁中感測資料並在少於時間tR (從記憶體 庫至資料暫存器之移轉時間,例如2 0 /z s )內將資料移轉 至資料暫存器。 或者控制器等待tR時間以便收集來自於分頁之資料、 或者產生裝置狀態查詢並將裝置狀態查詢送至快閃裝置, 以便於當分頁已經被存取時接收通知。當控制器產生裝置 狀態指令時,指令在步驟604中被送至快閃裝置。快閃裝 置將以連續的忙線標示來回應此請求,直至分頁已經被存 取爲止,此時快閃裝置標示記憶體庫已經準備就緒且不再 忙線。控制器在步驟606中持續檢查以判斷記憶體庫是否 已經準備就緒。 一旦記憶體庫準備就緒、或者是控制器等待tR時間, 則在步驟608中發佈具有裝置位址及直欄位址之「叢發資 料讀入」指令。若控制器沒有送出裝置狀態查詢,而是等 待了 tR時間,則不執行步驟604及步驟606。一旦裝置接 收到「叢發資料讀入」,S QE訊號則被啓動,而且在步驟 6 1 0中,開始從指令給定之直欄位址讀出資料暫存器中之 分頁資料。經由S Q η持續此讀取程序,直至S Q η變低爲 止。 錯誤校正碼(ECC )由控制器在步驟612中產生並在 -26- 200826104 步驟614中確認。若ECC無法被確認,錯誤訊息則在步 驟616中發佈。若ECC被確認,「讀頁」運算則成功, 並且在步驟6 1 8中完成該運算。例如,快閃裝置控制器針 對每分頁之2048位元組之輸入資料產生 ECC 配類 (parity )位元。因此,具有ECC配類位元之2048位元 組資料被編程(通常每512位元組1-位元組ECC,每分頁 中每2 0 4 8位元組總共爲4位元組E C C )。每分頁中, ECC配類位元在64位元組備用欄位被編程。在分頁讀入 期間’快閃裝置控制器讀入具有ECC配類資訊之2048位 元組資料。快閃裝置控制器確認具有4位元組ECC資訊 之2048資料。因此,ECC程序由快閃裝置控制器所執 行,且快閃裝置控制器僅儲存ECC配類資訊。 圖8顯示從快閃裝置之角度之用於「讀頁」運算之時 序圖,其中控制器等待時效時間tR,以獲得所請求之資 料。若在庫忙線期間tR內發佈「叢發資料讀入」指令而且 啓動SQE,所有輸出資料將爲無效。 圖9顯示「讀頁」運算時序圖,其中係來自於快閃裝 置之控制器之裝置狀態。 模組化指令可以包含「分頁程式」(Page Program ) 指令。利用指令結構,輸入「分頁程式」之第一循環,緊 接著輸入直欄位址以及橫列位址,直欄位址用於標的分頁 中之起始直欄位址,橫列位址用於標的分頁位址。 而後載入資料,接著載入「分頁程式」指令之第二循 環。在內部「分頁程式」運算完成之期間內,裝置在第二 -27- 200826104 循環之後忙線一段時間(如200 μ s )。若將完成「分頁程 式」運算,這些步驟皆被視爲一個不能被打斷的程序。 圖1 〇說明來自於快閃裝置控制器之「分頁程式」指 令之流程。用於系統之控制器在步驟902產生「叢發資料 載入開始」(Burst data Load Start)指令,指令包含指定 的快閃裝置位址、記憶體庫位址、「叢發資料載入開始」 運算碼、及用於將被編程之直欄之2-位元組直欄位址。 「叢發資料載入開始」指令通過組成系統之快閃裝置,直 到指定的快閃裝置位址符合於接收「叢發資料載入開始」 指令之快閃裝置。「叢發資料載入開始」指令在步驟904 中隨著2-位元組直欄位址被提供至指定快閃裝置之指令暫 存器、而後在步驟906中隨著輸入資料被提供至指定快閃 裝置之指令暫存器。「叢發資料載入開始」指令重新設定 在指定快閃裝置中之所有資料暫存器。若是「叢發資料載 入開始」運算沒有將所有資料輸入至快閃裝置,之後的 「叢發資料載入」指令則可以被使用來在裝置中置放所有 資料。 快閃裝置控制器再次在步驟9 0 8中產生「分頁程式」 指令,「分頁程式」指令標示指定的快閃裝置位址、記憶 體庫位址、及「分頁程式」運算碼、以及標示將寫入於 「分頁程式」運算之橫列的橫列位址。從「叢發資料載入 開始」指令資料已經被載入快閃裝置,經過tDDE時間之 後,由控制器產生「分頁程式」指令。此過程將把所載入 之資料在所選取之分頁位置編程。 -28- 200826104 控制器使用在步驟9 1 0所發佈之「裝置狀態」指令來 監測「分頁程式」運算的狀態。快閃裝置將以持續忙線的 標示來回應此請求,直到此分頁已經被存取爲止,此時快 閃裝置標示:記憶體庫已經準備就緒且不再忙線。控制器 在步驟9 1 2中持續檢查以判斷記憶體庫是否已經準備就 緒。一旦記憶體庫準備就緒,控制器查驗「分頁程式」運 算是否成功。若爲否,則在步驟916輸出錯誤,否則, 「分頁程式」運算在步驟918中完成。 圖1 1爲來自於快閃裝置之「分頁程式」運算之時序 圖,其中「叢發資料載入開始」足夠將所有資料載入裝置 中。圖12爲針對「分頁程式」運算之時序圖,其中在 「叢發資料載入開始」運算之後需要「叢發資料載入」運 算,以便將所有資料載入裝置中。 模組化指令可以包含「區塊抹除」(Block Erase ) 指令。輸入具有指令結構之「區塊抹除」指令之第一循 環’緊接者輸入用於目標區塊位址之橫列位址。輸入「區 塊抹除」指令之第二循環,之後裝置忙線1 .5 ms來完成內 部區塊抹除運算。 圖1 3爲來自控制器之「區塊抹除」指令之流程。用 於系統之快閃裝置控制器在步驟1 202中產生用於「區塊 抹除」指令之「位址輸入」,指令包含裝置位址、記憶體 庫位址、運算碼及在步驟1 204中之3-位元組橫列位址。 若是在步驟1 206中每次刪除多於一個區塊,則由控制器 產生額外之用於「區塊抹除」指令之「位址輸入」以標示 -29- 200826104 這些額外的區塊。當已經標定所有的區塊之後’控制器在 步驟1208中產生「區塊抹除」指令,針對所選擇之區 塊,啓動執行「區塊抹除」運算之快閃裝置。由控制器所 產生之「區塊抹除」指令包含裝置位址、記憶體庫位址、 及運算碼。 控制器在步驟1210中發佈「狀態」(Status )指令’ 用來判斷記憶體庫何時可用以及「區塊抹除」運算何時完 成。控制器在步驟1 2 1 2中持續查驗裝置狀態,直到記億 體庫可用爲止。當「區塊抹除」運算完成時,控制器在步 驟1 2 1 4中查驗運算是否成功。若運算尙未成功,則在步 驟1 2 1 6中發佈錯誤,否則在步驟1 2 1 8中完成「區塊抹 除」運算。 圖14說明來自於快閃裝置之針對「區塊抹除」運算 之時序圖,其中僅有單一之區塊被抹除。圖15說明用於 「區塊抹除」運算之時序圖,其中多數個區塊被抹除。 示於圖5A至C中之模組化指令結構提供給記憶體庫 在第一位元組中所供應之位址以及裝置位址。當快閃記憶 體裝置具有多於一個記憶體庫用以標明指令所導向之記億 體庫時,在此情況下使用記憶體庫。因爲具有模組化指令 結構之指令在指令中標明記憶體庫位址,具有各個記憶體 庫獨立運算組態的快閃裝置將能夠使在快閃裝置中之運算 在多於一個之記憶體庫上同時執行。HLNANDTM快閃裝置 爲此類之快閃記憶體之一例。 多個在上層層次爲經串接 (cascade )之HLNANDtm -30- 200826104 快閃裝置的接腳組態可以與單獨裝置的其中一個裝置相 同。例如,利用串聯連接組態,各個裝置在串接 (cascade )路徑上導入額外之半時脈週期之延遲時間 (latency)。如此,在串聯連接組態中,分段裝置的數量 決定運算時脈延遲時間之總合。利用具有多個相互連接之 記憶體庫之多個裝置的組態,控制器藉由插入指令可以有 效安排許多需要消耗存取時間之核心運算的不同程序。 圖1 6至2 1說明在單一快閃記憶體裝置中,在兩個記 憶體庫上同時發生之運算。 圖1 6說明流程圖,針對在相同快閃記憶體裝置中來 自於兩個記憶體庫之同時發生之「讀頁」運算。「讀頁」 指令在步驟1 5 02中送至記憶體庫0。而後記憶體庫〇藉由 存取所請求之分頁’來進行該請求之處理程序。當記憶體 庫0處理「讀頁」指令時,第二「讀頁」指令在步驟1 5 04 中送至記憶體庫1。然後’當記憶體庫〇同時處理該請求 時,記憶體庫1藉由存取所請求之分頁’來進行該請求之 處理程序。在步驟1 5 06中,在「讀頁」請求送至記憶體 庫〇之後,在步驟1508中之「叢發資料讀入」指令送至 記憶體庫〇之前’允許經過時間1R1用以存取資料’該資 料係爲步驟1 5 0 2中之「讀頁」指令所發佈。在步驟1 5 1 〇 中,在「讀頁」請求送至記憶體庫1之後’在步驟151 〇 中「叢發資料讀入」(Burst data Read )指令送至記憶體 庫1之前’允許經過時間tR2用以存取貪料’該資料係爲 步驟1 5 04中之「讀頁」指令所發佈。 -31 - 200826104 圖17顯示圖16中所示之同時發生之「讀頁」運算之 時序圖。 圖1 8顯示流程圖,在相同快閃記憶體裝置之兩個記 憶體庫中之同時發生之「讀頁」運算。將「叢發資料載入 開始」指令與將被編(程)入記憶體庫〇中之資料在步驟 1 7 02中送至記憶體庫0。「叢發資料載入開始」指令與將 被編(程)入記憶體庫1中之資料在步驟1 704中送至記 憶體庫1。「分頁程式」指令在步驟1 706中送至記憶體庫 1,且「分頁程式」指令在步驟中送至記憶體庫1。 「讀入狀態」指令在步驟1 7 1 0中送至記憶體庫〇,以及在 步驟1 7 1 2中送至記憶體庫1,以監視各個記憶體庫在完成 「分頁程式」運算時之進度。當針對各個記憶體庫之狀態 回傳一通過訊號回來,則完成「分頁程式」運算而且可由 記憶體庫執行其他運算。 圖1 8顯示在「分頁程式」指令提供給各個庫之前’ 送至各個記憶體庫之「叢發資料載入開始」指令。「叢發 資料載入開始」指令及「分頁程式」指令在其中任何一個 指令送至記憶體庫1之前,皆可送至記憶體庫0。圖1 9顯 示同時發生之「分頁程式」運算之時序圖’其中「叢發資 料載入開始」指令及「分頁程式」指令在其中任何一個指 令送至記憶體庫1之前,送至記憶體庫0。 圖2 0顯示流程圖’針封在相问丨夬閑記憶體裝置之兩 個記憶體庫中之同時發生之「區塊抹除」運算。在步驟 1902中用於「區塊抹除」指令之「位址輸入」與將要被抹 -32- 200826104 除之區塊位址送至記憶體庫〇。用於「區塊抹除」指令之 「位址輸入」在步驟1904中與將要被抹除之區塊位址送 至記憶體庫1。「區塊抹除」指令在步驟1 906中提供給記 億體庫0,當接收到指令時,在步驟1 902中抹除區塊,該 區塊係標市於「區塊抹除」指令之「位址輸入」中。「區 塊抹除」指令在步驟1 908中提供給記憶體庫〇,當接收到 指令時,在步驟1 604中抹除區塊,該區塊係標示於「區 塊抹除」指令之「位址輸入」中。「讀入狀態」指令在步 驟1910中送至記憶體庫0,而且也在步驟1912中送至記 憶體庫1,以監控「區塊抹除」運算之進程。當狀態針對 各個記憶體庫回傳一通過訊號時,則完成「區塊抹除」運 算,可以由記憶體庫執行其他運算。 圖20顯示在「區塊抹除」指令提供給各庫之前,用 於「區塊抹除」指令之「位址輸入」送至各個記憶體庫。 用於「區塊抹除」之「位址輸入」以及「區塊抹除」指 令,在其中的任一個指令送至記憶體庫1前,皆可送至記 憶體庫0。圖21說明同時發生之「區塊抹除」運算之時序 圖,其中用於「區塊抹除」之「位址輸入」以及「區塊抹 除」指令在其中任一個指令送至記憶體庫1前,被送至記 憶體庫〇。 由記憶體庫同時執行之運算無須爲相同運算。圖22 至25說明由相同快閃記憶體裝置的兩個記億體庫所同時 執行之不同運算。 圖22顯示流程圖,用於在相同快閃記憶體裝置的兩 -33- 200826104 個記憶體庫中同時發生之「讀頁」及「分頁程式」運算。 「讀頁」指令在步驟2 1 0 2中送至記憶體庫0。當記憶體庫 0正在存取標示於「讀頁」指令中之分頁時,「叢發資料 載入開始」指令在步驟2 1 0 4中與將被編(程)入記憶體 庫1中之資料送至記憶體庫1。「分頁程式」指令在步驟 2 1 06中送至記憶體庫1 ’以便開始將資料編程至記憶體庫 1中。在步驟2102中送出「讀頁」指令之後,在步驟 2 1 0 8中允許等待時間t R,使得在步驟2 1 1 0中送至記憶體 庫0之「叢發資料讀入」指令存取自「讀頁」運算取回之 資料之前,允許記憶體庫0取回所請求之資料。「讀入狀 態」指令在步驟2 1 1 2中送至記憶體庫1以監控「分頁程 式」運算之進程。當狀態針對記憶體庫1回傳一通過訊號 時,則完成「分頁程式」運算,可由記憶體庫1執行其他 運算。 圖23顯示來自圖22之同時發生之「讀頁」及「分頁 程式」運算之時序圖。 圖2 4說明流程圖,係針對在相同快閃記憶體裝置之 兩個記憶體庫中暫停以及重新開始所執行之運算,其中 「讀頁」運算在記憶體庫0執行,而「分頁程式」運算在 記憶體庫1執行。「叢發資料載入開始」指令與將被編 (程)入記憶體庫1之資料在步驟23 02中送至記憶體庫 1。在「叢發資料載入開始」運算中之所有資料載入記憶 體庫1之前,此運算在「讀頁」指令在送至記憶體庫0 (步驟2 3 0 6中)時被暫停。在「讀頁」指令已經完全由 -34- 200826104 記憶體庫〇接收之後,而且當記憶體庫0正在存取被請求 之分頁時,利用「叢發資料讀入」運算與其餘之資料’在 步驟2308中重新開始在記憶體庫1之運算。一旦資料已 經被提供至記憶體庫1時,「分頁程式」指令在步驟23 1 0 中送至記憶體庫1,以便在其中開始資料之編程。在「讀 頁」指令送至記憶體庫1之後(在步驟23 06中)’在步 驟2 3 1 2中允許等待時間tR。一旦已經經過時間U,「叢 發資料讀入」指令在步驟2 3 1 4中送至記億體庫〇,以便開 始從記憶體庫〇擷取所請求之資料。當「讀入狀態」指令 在步驟23 1 8中送至記憶體庫1以監控記憶體庫之狀態 時,在步驟2316中暫停「叢發資料讀入」指令。一旦 「讀入狀態」指令已經被恢復時,「叢發資料讀入」指令 在步驟2320中被繼續開始。當「分頁程式」運算完成 時,記憶體庫1回傳一通過訊號給「讀入狀態」指令,可 由記憶體庫1執行其他運算。 圖25顯示時序圖,其爲來自於圖24『讀頁」及「分 頁程式」運算之暫停及重新開始的時序。 圖26至28顯示在多個裝置之間插入運算。圖25顯 示在快閃裝置〇及快閃裝置1之記憶體庫〇及記憶體庫1 之「讀頁」運算、在快閃裝置2之記憶體庫0之「區塊抹 除」運算、在快閃裝置2之記憶體庫1及在快閃裝置3之 記憶體庫〇之「分頁程式」運算、及在快閃裝置3之記憶 體庫1之「分頁-對刪除」(Page-pair Erase)運算。圖 26顯示在快閃裝置0、1、2、及3之記憶體庫0與記憶體 -35- 200826104 庫1之「讀頁」運算。圖28顯示在快閃裝置〇之記憶體 庫〇之「分頁程式」運算,接著爲「讀頁」運算,「讀 頁」運算接著爲在快閃裝置〇之記憶體庫1之「區塊抹 除」運算、在快閃裝置1及3之記憶體庫0與在快閃裝置 2及3之記憶體庫1之「區塊抹除」運算、在快閃裝置1 之記憶體庫1之「分頁程式」運算,而且「讀頁」運算緊 接著爲在快閃裝置2之記憶體庫0之「分頁程式」運算。 在上述實施例中,記憶體裝置已經以快閃記憶體裝置 來說明。對於那些對此項技術有一般技術的人士而言顯而 易見的是:記憶體裝置可以爲隨機存取記憶體裝置:例如 動態隨機存取記憶體(DRAM )、靜態隨機存取記憶體 (SRAM )、磁阻性隨機存取記憶體(MRAM )。而且, 包含在記憶體系統中之複數個記憶體裝置可以爲具有相同 裝置類型的裝置、或者爲混合類型之裝置。以串聯方式連 接之複數個混合型裝置之組態揭示於美國臨時專利申請案 第60/868773號中,其申請於2006年12月6曰。 上述之實施例中,爲求簡潔,裝置單元及電路如圖中 所示般互相連接。在實際的應用中,這些裝置、單元電路 等等可以直接互相連接,或是經由其他裝置單元間接連接 等等。所以在實際之組態中,單元、電路或是裝置以直接 或間接方式互相耦合。 上述之本發明之實施例在於提出實例。在不背離申請 專利範圍所界定之本發明範疇前提下,熟悉本項技術的人 士可針對該等實施例進行替換、修正或變化。 -36- 200826104 【圖式簡單說明】 現在僅利用實例並參考圖式來說明本發明之實施例, 其中· 圖1爲方塊圖,說明主機系統、以及具有記憶體系統 及記憶體控制器之系統,本發明之實施例可應用於該主機 系統及該系統; 圖2爲方塊圖,說明包含複數個記憶體裝置之記憶體 系統及控制器,其中該該控制器經由共用匯流排連接至該 記憶體系統,本發明之實施例可應用於該系統; 圖3爲方塊圖,說明具有複數個記憶體裝置之記憶體 系統及控制器,該複數個記憶體裝置以串聯方式互相連 接,且該控制器連接至該記憶體裝置,本發明之實施例可 應用於該系統; 圖4爲方塊圖,說明快閃記憶體裝置之一般性組態之 實例,本發明之實施例可應用於該裝置; 圖5A、5B、及5C說明用來配合NAND快閃記憶體使 用之模組化指令結構之實例,本發明之實施例可應用於該 模組化指令結構; 圖6A爲方塊圖,說明快閃控制器之組態,本發明之 實施例可應用於該快閃控制器; 圖6 B爲方塊圖,說明圖6A中所示之快閃指令引擎 (flash command engine )之功能性組件之實例; 圖7爲流程圖,說明來自於該控制器之由「讀頁」 -37- 200826104 (Page Read )指令所引導之程序,其使用該模組化指令 結構。 圖8爲時序圖,說明來自於快閃記憶體裝置之「讀 頁」(Page Read )運算與設定之等待週期的時序’其使 用該模組化指令結構; 圖9爲時序圖,說明來自於快閃記憶體裝置之「讀 頁」(Page Read )運算與狀態請求的時序’其使用該模 組化指令結構; 圖1 〇爲流程圖,說明來自於該控制器之由「讀頁」 (Page Read )指令所引導之程序,其使用該模組化指令 結構; 圖1 1爲時序圖,說明來自於該快閃記憶體裝置之 「分頁程式」(Page Program)運算與單一資料輸入之時 序,其使用該模組化指令結構; 圖1 2爲時序圖,說明來自於該快閃記憶體裝置之 「分頁程式」(Page Program)運算與兩個資料輸入之時 序’其使用該模組化指令結構; 圖1 3爲流程圖,說明來自於該控制器之由「區塊抹 除」(Block Erase)指令所引導之程序,其使用該模組化 指令結構; 圖1 4爲時序圖,說明來自該快閃記憶體裝置之「區 塊抹除」(Block Erase)運算與單一個欲抹除之區塊位址 的時序,其使用該模組化指令結構; 圖1 5爲時序圖,說明來自該快閃記憶體裝置之「區 -38- 200826104 塊抹除」(Block Erase)運算與兩個欲抹除之區塊位址的 時序,其使用該模組化指令結構; 圖1 6爲流程圖,說明用於相同一個快閃記憶體裝置 中的兩個記憶體庫之來自於該控制器之由同時發生之「讀 頁」(Page Read )指令所引導的程序,其使用該模組化 指令結構; 圖1 7爲時序圖,說明用於相同一個快閃記憶體裝置 中之兩個記憶體庫之來自於快閃記憶體之同時發生之「讀 頁」(Page Read )運算的時序,其使用該模組化指令結 構, 圖1 8爲流程圖,說明用於相同一個快閃記憶體裝置 中之兩個記憶體庫之來自於該控制器之同時發生之由「分 頁程式」(Page Program )指令所引導之程序,其使用該 模組化指令結構; 圖1 9爲時序圖,說明用於相同一個快閃記憶體裝置 中之兩個記憶體庫之來自於該快閃記憶體裝置之同時發生 之「讀頁」(Page Read )運算的時序,其使用該模組化 指令結構; 圖20爲流程圖,說明用於相同一個快閃記憶體裝置 中之兩個記憶體庫之來自於該控制器之由同時發生之「區 塊抹除」(Block Erase)指令所引導之程序,其使用該模 組化指令結構; 圖2 1爲時序圖,說明用於相同一個快閃記憶體裝置 中之兩個記憶體庫之來自於快閃記憶體之同時發生之「區 -39- 200826104 塊抹除」(Block Erase)運算的時序,其使用該模組化指 令結構; 圖22爲流程圖,說明用於在相同一個快閃記憶體裝 置中之兩個記憶體庫之來自於該控制器之經插入之「讀 頁」(Page Read)及「分頁程式」(Page Program)指令 所引導之程序,其使用該模組化指令結構; 圖23爲時序圖,說明用於相同一個快閃記憶體裝置 中之兩個記憶體庫之來自於快閃記憶裝置之經插入之「讀 頁」(Page Read)及「分頁程式」(Page Program)運算 的時序,其使用該模組化指令結構; 圖24爲流程圖,說明用於相同一個快閃記憶體裝置 中之兩個記憶體庫之來自於該控制器之暫停及重新開始之 「讀頁」(Page Read)及「分頁程式」(Page Program) 指令所引導之程序,該控制器使用該模組化指令結構; 圖2 5爲時序圖,說明用於相同一個快閃記憶體裝置 中之兩個記憶體庫之來自於快閃記憶裝置之被暫停及被重 新開始之「讀頁」(Page Read )及「分頁程式」(Page Program)運算的時序,其使用該模組化指令結構; 圖26爲用於多個快閃記憶體裝置之經插入及同時發 生之「讀頁」(Page Read ) 、 「區塊抹除」(Block
Erase) 、「分頁程式」(page pr〇gram)、及「分頁—對 抹除」(Page_pair Erase)之指令/運算實例,各個快閃記 憶體裝置具有多個記憶體庫; 圖27爲用於多個快閃記億體裝置之經插入及同時發 -40 - 200826104 生之「讀頁」(Page Read )指令/運算之實例,各個快閃 記憶體裝置具有多個記憶體庫;及 圖28爲用於多個快閃記憶體裝置之經插入及同時發 生及重新開始之「讀頁」(Page Read) 、「區塊抹除」 (Block Erase) 、「分頁程式」(Page Program)指令 / 運 算之實例,各個快閃記憶體裝置具有多個記憶體庫。 【主要元件符號說明】 102 :主機系統 103 :處理器 104 :控制器 106 :記憶體系統 107-0 :快閃記憶體裝置 107- 1 :快閃記憶體裝置 1 1 2 :控制器 1 1 4 :共用匯流排 108- 0、108-1、108-2、108-3 :快閃記憶體裝置 1 1 6 :控制器 109- 0、109-1、109-2、109-3 :快閃記憶體裝置 400 : NAND快閃裝置 402 :記憶體庫 404 :感測放大器(S/A)及資料暫存器 406 :控制及預先解碼器 408 :橫列解碼器 -41 - 200826104 4 1 0 : I/O (輸入/輸出)緩衝器及鎖存器 4 1 2 :輸出驅動器 4 1 4 :指令暫存器 4 1 6 :控制邏輯 4 1 8 :位址緩衝器及鎖存器 5 00 :模組化指令結構 5 02 :第一位元組 504 : 6-位元裝置位址 506 : 2-位元記憶體庫位址 5 0 8 :第二位元組 5 10 : 8-位元運算碼 520 :指令結構 5 22 : 3 -位元組橫列位址第三至第五位元組 5 24 : 3-位元組橫列位址 540 :指令結構 542 :第三至第四位元組 544 : 2-位元組直欄位址 CE# :晶片啓動訊號 SDE :序列資料輸入啓動訊號 SDn :序列資料輸入訊號 S QE :序列資料輸出啓動訊號 SQn :輸出 ECC :錯誤校正碼(ECC ) 3 1 0 :快閃控制器 -42- 200826104 312 :中央處理單元(CPU) 3 1 4 :記憶體 3 16 :隨機存取記憶體(RAM) 3 18 :唯讀記憶體(ROM) 322 :快閃指令引擎 3 24 :錯誤校正碼管理器 326 :快閃裝置介面 3 3 2 :主機介面控制器 3 3 4 :主機介面 5 5 8 :指令結構機構 5 6 0 :記憶庫插入機構 562 :裝置插入機構 564 :位址辨識機構 566 :指令辨識機構 5 68 :橫列位址辨識機構 570 :直欄位址辨識機構 TDA :標的裝置位址 CMD :指令 -43-