TWI442236B - 串聯連接裝置之資料的選擇性廣播 - Google Patents
串聯連接裝置之資料的選擇性廣播 Download PDFInfo
- Publication number
- TWI442236B TWI442236B TW98104050A TW98104050A TWI442236B TW I442236 B TWI442236 B TW I442236B TW 98104050 A TW98104050 A TW 98104050A TW 98104050 A TW98104050 A TW 98104050A TW I442236 B TWI442236 B TW I442236B
- Authority
- TW
- Taiwan
- Prior art keywords
- identification number
- memory
- mask
- code
- command
- Prior art date
Links
Landscapes
- Read Only Memory (AREA)
Description
本發明係大致有關一種由在一環狀拓撲中被串聯到一記憶體控制器的一些記憶體裝置構成之系統。更具體而言,本發明係有關對由一些在一環狀拓撲中被串聯的記憶體裝置以及一記憶體控制器構成之系統中之記憶體裝置的選擇。
快閃記憶體是一種廣泛被用來作為諸如數位相機及可攜式數位音樂播放器等的消費電子產品的大量儲存裝置之常用類型的非揮發性記憶體。包含2個堆疊式晶粒的目前供應之快閃記憶體組件之密度可達到32G位元(4G位元組),因而適用於流程的通用序列匯流排(USB)快閃碟,這是因為快閃記憶體組件之尺寸通常是小的。
8百萬像素數位相機、具有音樂是視訊功能的可攜式數位娛樂裝置、以及固態硬碟機的到來已激起了對可儲存大量資料的超高容量之需求,但是單一快閃記憶體裝置可能無法滿足該需求。因此,多個快閃記憶體裝置被合倂到一系統中,以便有效地增加可用之儲存容量。例如,此類應用可能需要20GB的快閃記憶體儲存密度。
第1圖是與一主機系統12整合的一先前技術之系統10之一方塊圖。先前技術之系統10包含與主機系統12通訊之一記憶體控制器14、以及多個非揮發性記憶體裝置16。主機系統12包含諸如一微控制器、一微處理器、或一電腦系統等的一處理裝置。第1圖所示之先前技術之系統10被組織成包含一通道18,而該等記憶體裝置16被並聯到通道18。熟悉此項技術者應可了解:先前技術之系統10可具有比與其連接的四個記憶體裝置多或少的記憶體裝置。
通道18包含一組共同匯流排,該等匯流排包含被連接到所有對應的記憶體裝置之一些資料及控制線。係以記憶體控制器14提供的各別之晶片選擇(致能)信號CE1#、CE2#、CE3#、及CE4#將每一記憶體裝置致能或關閉。“#”表示該信號是一現用(active)低邏輯位準信號。於一操作期間,一次通常選擇該等晶片選擇信號中之一晶片選擇信號,以便將該等記憶體裝置16中之一記憶體裝置致能。記憶體制器14回應主機系統12之操作,而負責將命令及資料經由通道18發送到一被選擇的記憶體裝置。自該等記憶體裝置輸出的讀取資料係經由通道18而被傳輸回到記憶體控制器14及主機系統12。先前技術之系統10可以是非同步的或同步的。第1圖示出使用一時脈(CK)的一非同步系統之一例子,且係將該時脈平行地提供給每一記憶體裝置16,以便同步通道18上之資料傳輸。先前技術之系統10通常被稱為包含該等記憶體裝置16被並聯到通道18之一多點傳輸匯流排。
有一些可能對該系統的效能有不利影響的特定問題。先前技術之系統10的結構造成了實體的效能限制。有大量的平行信號線延伸穿過該系統,且該等信號線載送的信號之完整性可能因串訊、信號偏斜(skew)、輸入及輸出負載效應、以及同時性邏輯轉換雜訊(Simultaneously Switching Noise;簡稱SSN)而使品質降低。該系統中之輸入/輸出電力消耗也成為一問題,這是因為該快閃記憶體控制器與各快閃記憶體裝置間之每一信號路徑將因信令傳送而被經常充電及放電。在較高的系統時脈頻率下,電力消耗將增加。
可被並聯到該通道的記憶體裝置之數目也有實際的限制,這是因為單一記憶體裝置的驅動能力相對於該等長信號路徑的負載是小的。此外,當記憶體裝置的數目增加時,需要有更多的晶片致能信號(CE#),且可能需要將時脈(CK)傳送到該等額外的記憶體裝置,而當將該等信號傳送到該等記憶體裝置時,該等信號的信號路徑都是較長的。因大範圍時脈分送而造成的時脈性能問題是此項技術中習知的,且成為具有大量記憶體裝置的大型先前技術之系統的一問題。在包含大量記憶體裝置的先前技術之系統中,或者使該等記憶體裝置分佈在多個通道上,或者限制該記憶體系統的時脈操作;任一選擇方式都有所妥協。具有多個通道及額外的晶片致能信號之控制器提高了該系統的成本。否則,該系統將被限於較少量的記憶體裝置。
因此,第1圖所示之記憶體系統10將不適於被用來作為固態硬碟機,這是因為該記憶體系統的集積密度將受到限制,且該記憶體系統之效能將成為主機系統12之瓶頸效能。此外,可能有資料完整性是最重要的應用。保證資料完整性之一種技術是在不同的位置複製該資料,因而可重建或取代訛誤的資料。在諸如第1圖所示之記憶體系統中,藉由將相同的資料寫到兩個不同的記憶體裝置16,而在不同的位置複製該資料。然而,由於該記憶體系統的集積密度限制,有過多的記憶體將被用來儲存複製的資料,這是因為該記憶體系統的整體集積密度被有效地減半。因此,該記憶體系統可能迅速地到達其最大儲存容量。
因此,目前需要提供一種可將多個記憶體裝置選擇性地致能而在最小的時間耗用下執行相同的命令之高密度且高效能之記憶體系統。
本發明之一目的在於提供一種可讓複數個裝置中之一子集執行一資料封包中提供的相同命令之電路及方法。
在第一觀點中,提供了一種選擇被串聯到一記憶體控制器的複數個裝置中之一子集的裝置以便執行一命令之方法。該方法包含:將該子集的裝置中之每一裝置之識別(ID)號碼編碼,以便提供編碼資訊;將包含一操作碼(op code)及該編碼資訊之一命令封包提供給該複數個裝置中之每一裝置;將該複數個裝置中之每一裝置所接收的該編碼資訊解碼;以及若該裝置中儲存的一識別號碼在該接收的編碼資訊中被編碼,則執行該操作碼。在一實施例中,該記憶體控制器提供2x
個該等識別號碼,其中x是大於零之一整數。
在另一實施例中,該等識別號碼中之每一識別號碼的長度是N位元,且該編碼資訊包含長度為N位元之一目標識別號碼、及長度為N位元之一遮罩碼,其中N是大於零之一整數值。在所述之本實施例中,該編碼步驟包含:將該子集的裝置中之一識別號碼選擇為該目標識別號碼;將該子集的裝置中之每一裝置的識別號碼與該目標識別號碼比較,以便產生對應的編碼識別號碼;以及在邏輯上合倂該等編碼識別號碼中之每一編碼識別號碼的相同位元位置中之一位元,以便產生具有該遮罩碼中之對應的位元位置之一位元。可能有對應於該子集的裝置之M個識別號碼,其中M是大於零之一整數值。此外,該比較步驟包含下列步驟:在一M*N矩陣中輸出該比較結果;以及將該M*N矩陣轉置為一N*M矩陣,其中藉由對該N*M矩陣的N個列中之一列的比較結果執行一邏輯函數,而產生一位元。自該N*M矩陣的第一列產生的該遮罩碼之第一位元代表該遮罩碼之一最高有效位元,且自該N*M矩陣的最後一列產生的該遮罩碼之最後一位元代表該遮罩碼之一最低有效位元。在本實施例之一變形中,該比較步驟包含下列步驟:在該子集的裝置中之每一裝置的該等識別號碼之間利用該目標識別號碼而執行一“互斥反或”(XNOR)函數。此外,該邏輯上合倂步驟可包含下列步驟:在該等編碼識別號碼中之每一編碼識別號碼的相同位元位置中之各位元之間執行一“反及”(NAND)函數。
在本實施例之一觀點中,該解碼步驟包含下列步驟:利用該目標識別號碼和該遮罩而處理該裝置中儲存的該識別號碼,以使提供該裝置中儲存的該識別號碼的所有位元位置在該遮罩碼中被編碼之一指示。該處理步驟包含下列步驟:將該裝置中儲存的該識別號碼的每一位元位置之位元與該目標識別號碼的每一對應的位元位置之對應的位元比較,以便產生一被編碼之目標識別號碼;將該遮罩碼加到該被編碼之目標識別號碼,以便提供一經過修改的被編碼之目標識別號碼;以及將該經過修改的被編碼之目標識別號碼之該等位元相乘,以便提供該裝置中儲存的該識別號碼的所有位元位置在該遮罩中被編碼之一指示。比較該裝置中儲存的該識別號碼的每一位元位置之該等位元之該步驟可包含下列步驟:執行一“互斥反或”邏輯函數;將該遮罩碼加到該被編碼之目標識別號碼之該步驟可包含下列步驟:執行一“或”邏輯函數;以及將該經過修改的被編碼之目標識別號碼之該等位元相乘之該步驟可包含下列步驟:執行一“及”邏輯函數。
在本觀點之另一實施例中,提供該命令封包之該步驟包含下列步驟:該複數個裝置中之每一裝置自前一裝置及該記憶體控制器中之一者接收該命令封包,並將該命令封包傳送到一後續裝置及該記憶體控制器中之一者,其中該前一裝置及該後續裝置包括記憶體裝置。一進一步的步驟包含下列步驟:當該子集的裝置中之最後裝置將該編碼資訊解碼時,禁止該命令封包被傳送到該後續裝置及該記憶體控制器中之一者。該禁止步驟包含下列步驟:在邏輯上合倂該目標識別號碼、該遮罩碼、及該裝置中儲存的該識別號碼,以便提供一最後裝置信號;以及回應該最後裝置信號,而將一輸出緩衝器設定為一空值(null value)。在邏輯上合倂之該步驟可包含下列步驟:將該目標識別號碼加到該遮罩碼,以便得到一最後被指定之裝置位址;以及將該最後被指定之裝置位址與該裝置中儲存的該識別號碼比較,其中係在該最後被指定之裝置位址與該裝置中儲存的該識別號碼匹配時,產生該最後裝置信號。此外,該設定步驟包含下列步驟:回應該最後裝置信號,而將該輸出緩衝器之一輸入耦合到一靜態邏輯位準。
在一第二觀點中,提供了一種具有一裝置識別號碼且用來接收命令封包之裝置。該裝置具有一資料流經路徑、一命令解譯器、以及一識別碼處理器。該資料流經路徑在一輸入埠上接收該命令封包,並將該命令封包傳送到一輸出埠。該命令封包包含一操作碼、以及對應於為了執行該操作碼而選擇的一子集的裝置識別號碼之編碼資訊。該命令解譯器被選擇性地致能,以便將該操作碼解碼。該識別碼處理器接收該編碼資訊,且若該裝置識別號碼在該編碼資訊中被編碼,則將該編碼資訊解碼,以便將該命令解譯器致能。在本觀點之一實施例中,該資料流經路徑包含:被耦合到該輸入埠之一輸入緩衝器,用以緩衝儲存該命令封包;以及被耦合到該輸入緩衝器之一輸出緩衝器,用以接收該命令封包,並將該命令封包驅動到該輸出埠。該編碼資訊可包含一遮罩碼及一目標識別號碼。該識別碼處理器可包含一識別碼匹配解碼器,用以在該裝置識別號碼在該遮罩碼中被編碼時,在邏輯上合倂該遮罩碼、該目標識別號碼、及該裝置識別號碼,以便提供一匹配信號。該目標識別號碼是該子集的裝置識別號碼中之一裝置識別號碼。
在本觀點之另一實施例中,該識別碼匹配解碼器包含一比較器、一加法器、以及一乘法器。該比較器將該裝置識別號碼之每一位元與該目標識別號碼之對應的位元比較,以便提供一被編碼之目標識別號碼。該加法器將該遮罩碼之每一位元加到該被編碼之目標識別號碼之對應的位元,以便提供一經過修改的被編碼之目標識別號碼。當該經過修改的被編碼之目標識別號碼之所有位元都處於一現用邏輯位準時,該乘法器提供該匹配信號。在本實施例中,該比較器包含一些“互斥反或”邏輯閘,其中每一“互斥反或”邏輯閘將該裝置識別號碼之一位元與該目標識別號碼之一對應的位元比較。該加法器可包含一些“或”邏輯閘,其中每一“或”邏輯閘將該遮罩碼之一位元加到該被編碼之目標識別號碼之一對應的位元。該乘法器可包含一“及”邏輯電路,用以接收該經過修改的被編碼之目標識別號碼之所有位元。
在本觀點之又一實施例中,該識別碼處理器包含一輸出禁止電路,用以禁止該命令封包被驅動到該輸出埠。該輸出禁止電路可包含一加法器及一最後識別碼解碼器。該加法器將該遮罩碼加到該目標識別號碼,以便提供該子集的裝置識別號碼中之一最後裝置識別號碼。該最後識別碼解碼器將該裝置識別號碼與該最後裝置識別號碼比較,並在該裝置識別號碼匹配該最後裝置識別號碼時,提供一最後識別碼控制信號。該輸出緩衝器回應該最後識別碼控制信號而被失能,且該資料流經路徑包含一選擇器,用以將該命令封包及一空值中之一者選擇性地傳送到該輸出緩衝器。該選擇器回應該最後識別碼控制信號而傳送該空值,其中該空值對應於被耦合到該選擇器的一輸出資料暫存器中儲存的一位元。
在一第三觀點中,提供了一種記憶體系統,該記憶體系統包含一記憶體控制器、以及在一環狀拓撲中被串聯到該記憶體控制器之複數個記憶體裝置。該記憶體控制器發出一命令封包,該命令封包包含一操作碼、以及對應於為了執行該操作碼而被選擇的一子集的裝置識別號碼之編碼資訊。該複數個記憶體裝置中之每一記憶體裝置具有一唯一裝置識別號碼,且接收該命令封包,且若該唯一裝置識別號碼在該編碼資訊中被編碼,則執行該操作碼。在本觀點之一實施例中,該複數個記憶體裝置中之每一記憶體裝置包含一資料流經路徑、一命令解譯器、以及一識別碼處理器。該資料流經路徑在一輸入埠上接收該命令封包,並將該命令封包傳送到一輸出埠。該命令解譯器被選擇性地致能,以便將該操作碼解碼。該識別碼處理器接收該編碼資訊,且在該唯一裝置識別號碼在該編碼資訊中被編碼時,將該編碼資訊解碼,以便將該命令解譯器致能。該編碼資訊包含一遮罩碼及一目標識別號碼。該識別碼處理器包含一識別碼匹配解碼器,用以在該唯一裝置識別號碼在該遮罩碼中被編碼時,在邏輯上合倂該遮罩碼、該目標識別號碼、及該裝置識別號碼,以便提供一匹配信號。該識別碼處理器包含一輸出禁止電路,用以在該唯一裝置識別號碼匹配該子集的裝置識別號碼中之一最後裝置識別號碼時,禁止該命令封包被驅動到該輸出埠。
對此項技術具有一般知識者若配合各附圖而參閱下文中對本發明的特定實施例之說明,將可易於了解本發明的其他觀點及特徵。
本發明之實施例提供了一種將命令選擇性地廣播到一系統的複數個裝置中之一子集之方法及系統,其中一命令可包含一操作碼、裝置位址、寫入資料、及記憶體陣列位址之任何組合。該記憶體系統包含在一環狀拓撲配置中被串聯之一些記憶體裝置及一記憶體控制器。本發明的實施例之目的在於選擇多個裝置以執行一命令,而無須使該記憶體系統中之所有裝置執行該相同的命令。
解決第1圖所示先前技術之系統10的許多效能問題之一系統是一種由一環狀拓撲組態中之被串聯的一些記憶體裝置及一記憶體控制器構成之系統。第2A及2B圖是根據本發明所述的實施例的一系統的概念本質之方塊圖。第2A圖是接收一平行時脈信號的一系統之一方塊圖,而第2B圖是接收一來源同步時脈信號的第2A圖所示相同系統之一方塊圖。該時脈信號可以是單端時脈信號或差動時脈對。
在第2A圖中,系統20包含:一記憶體控制器22,該記憶體控制器22具有至少一輸出埠Sout及一輸入埠Sin;以及被串聯之記憶體裝置24、26、28及28。雖然第2A圖中並未示出,但是每一記憶體裝置具有一SiN輸入埠及一Sout輸出埠。輸入及輸出埠包含用來將記憶體裝置介接到其被包含的系統之一或多個實體接腳或連線。在一實施例中,該等記憶體裝置可以是快閃記憶體裝置。或者,該等記憶體裝置可以是動態隨機存取記憶體(DRAM)、靜態機存取記憶體(SRAM)、或任何其他類型的記憶體裝置,只要該等記憶體裝置具有與一特定命令結構相容的一輸入/輸出介面以便執行命令或將命令及資料傳送到次一記憶體裝置即可。第2A圖所示之現有例子包含四個記憶體裝置,但是本發明之又一目的在於提供一種可包含一單一記憶體裝置、或任何適當數目之記憶體裝置。因此,如果記憶體裝置24由於其被連接到Sout而是系統20之第一裝置,則記憶體裝置30由於其被連接到SiN而是第N個裝置或最後裝置,其中N是大於零之一整數。記憶體裝置26至28則是該第一與最後記憶體裝置中間的被串聯之記憶體裝置。
每一記憶體裝置於該系統的電力開啟(power up)或初始化時可取得一有區別的識別號碼,因而該等記憶體裝置可被個別地定址。共同擁有之美國專利申請案11/622,828“APPARATUS AND METHOD FOR PRODUCING IDS FOR INTERCONNECTED DEVICES OF MIXED TYPE”、美國專利申請案11/750,649“APPARATUS AND METHOD FOR ESTABLISHING DEVICE IDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES”、美國專利申請案11/692,452“APPARATUS AND METHOD FOR PRODUCING DEVICE IDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES OF MIXED TYPE”、美國專利申請案11/692,446“APPARATUS AND METHOD FOR PRODUCING IDENTIFIERS REGARDLESS OF MIXED DEVICE TYPE IN A SERIAL INTERCONNECTION”、美國專利申請案11/692,326“APPARATUS AND METHOD FOR IDENTIFYING DEVICE TYPE OF SERIALLY INTERCONNECTED DEVICES”、美國專利申請案11/771,023“ADDRESS ASSIGNMENT AND TYPE RECOGNITION OF SERIALLY INTERCONNECTED MEMORY DEVICES OF MIXED TYPE”、以及美國專利申請案11/771,241“SYSTEM AND METHOD OF OPERATING MEMORY DEVICES OF MIXED TYPE”說明了用來產生及指定一系統的串聯式記憶體裝置的裝置位址之方法,本發明特此引用該等專利申請案之內容全文以供參照。
記憶體裝置24至30被視為串聯式裝置,這是因為除了鏈環中之第一及最後記憶體裝置之外,一記憶體裝置之資料輸入端被連接到前一記憶體裝置之資料輸出端,因而形成了一串聯系統組織。記憶體控制器22之通道包含由被連接到各導電線的不同接腳或相同接腳所提供之資料、位址、及控制資訊。第2A圖所示之實施例包含一通道,其中該一通道包含Sout及對應的SiN埠。然而,記憶體控制器22可包含任何適當數目之通道,以便適應不同的記憶體裝置鏈環。在第2A圖所示之例子中,記憶體控制器22提供被並聯到所有記憶體裝置之一時脈信號CK。
於一般性操作時,記憶體控制器22經由其Sout埠而發出一命令,該命令包含一操作碼、一裝置位址、用於讀取或程式化的或有之位址資訊、以及用於程式化之資料。可以一序列位元流命令封包之方式發出該命令,其中該封包可在邏輯上再被細分為一些具有一預定大小之區段(segment)。每一區段之大小可以是諸如一位元組。位元流是隨著時間的經過而被提供的一連串或序列之位元。第一記憶體裝置24接收該命令,並將該裝置位址與其被指定的位址比較。如果該等位址匹配,則記憶體裝置24執行該命令。該命令經由其本身之輸出埠Sout而被傳送到次一記憶體裝置26,且在記憶體裝置26中重複相同的程序。最後,被稱為被選擇的一記憶體裝置之具有匹配的裝置位址之該記憶體裝置將執行該命令所指定之操作。如果該命令是一讀取資料命令,則該被選擇之記憶體裝置將經由其輸出埠Sout(圖中未示出)而輸出該讀取資料,且該讀取資料經由各中間記憶體裝置而被序列地傳送,直到該讀取資料到達記憶體控制器22之SiN埠為止。因為係以一序列位元流之方式提供命令及資料,所以每一記憶體裝置將時脈用來觸發輸入/輸出該等串列位元,並用來同步內部記憶體裝置操作。系統20中之所有記憶體裝置使用該時脈。
因為根據第2A圖的該系統中使用之時脈頻率較低,所以可將未終接之全擺幅CMOS信令位準用來提供強健性的資料通訊。如熟悉此項技術者所習知的,亦可將此種技術稱為低壓電晶體對電晶體邏輯(LVTTL)。
第2B圖所示之系統可得到比第2A圖所示之系統20進一步之效能提高。第2B圖所示之系統40類似於第2A圖所示之系統20,但不同之處在於:時脈信號CK自提供來源同步時脈信號CK之一替代記憶體控制器42被序列地提供給每一記憶體裝置。每一記憶體裝置44、46、48及50可在其時脈輸入埠上接收該來源同步時脈,並將該來源同步時脈經由其時脈輸出埠而傳送到該系統中之次一裝置。在系統40之某些例子中,該時脈信號CK係經由短信號線而自一記憶體裝置傳送到另一記憶體裝置。因此,不會有與平行時脈分送機制有關的時脈效能問題,且CK可在高頻率下操作。因此,系統40可在比第2A圖所示系統20高的速度下操作。例如,可將高速收發器邏輯(High Speed Transceiver Logic;簡稱HSTL)信令用來提供高效能的資料通訊。在該HSTL信令格式中,每一記憶體裝置可接收被用來決定輸入資料信號的邏輯狀態之一參考電壓。另一類似的信令格式是線腳序列終端邏輯(SSTL)信令格式。因此,系統20及24的該等記憶體裝置中之資料及時脈輸入電路在結構上是相互不同的。HSTL及SSTL信令格式應是熟悉此項技術者習知的。
如前文所述,第2A及2B圖所示之該等記憶體裝置具有唯一的識別號碼或裝置位址(Device Address;簡稱DA),因而該記憶體控制器於傳送命令時可在該等記憶體裝置中選擇一個記憶體裝置,因而只有該被選擇之記憶體裝置執行該命令。因此,於發出命令時,該記憶體裝置選擇機制可一次只選擇一個裝置。該命令包含單一的識別號碼或裝置位址,因而該記憶體裝置選擇機制無法進行多裝置選擇。為了便於解說,第2A及2B圖所示該等記憶體系統裝之正常操作需要在將要由兩個不同的記憶體裝置執行兩個不同的操作時,循序地發出一些命令。於發出一新的命令時,資料封包可包含一新的識別號碼,且系統預設不選擇先前已被選擇的裝置。然而,如果將要由兩個不同的記憶體裝置執行相同的命令,則發出相同的資料封包兩次,且每一次具有不同的裝置識別號碼。因此,該記憶體系統的總操作時間增加了,這是因為相同的命令被發出到較多的記憶體裝置。
上述問題的部分解決方案是廣播技術,利用該廣播技術而同時選擇所有被串聯的記憶體裝置,且在所有裝置中執行一被發出的命令。如於2008年2月19日提出申請的共同擁有之美國專利申請案12/033,577所述,廣播是一種將共同的命令分送到一系統中之所有記憶體裝置簡化之技術。在不利用廣播時,係利用裝置位址將各別之命令發出到每一記憶體裝置。在廣播技術中,一廣播位址取代了資料封包中之裝置位址或識別號碼。每一記憶體裝置具有一暫存器,用以儲存製造時被預設的廣播位址。因此,當接收到資料封包時,每一記憶體裝置將該裝置位址中之位址與其唯一裝置位址及其所儲存的廣播位址比較。當期所儲存的廣播位址匹配該資料封包中之廣播位址時,該記憶體裝置執行該命令。然而,該方法並不提供對部分裝置之多重選擇,亦即,無法選擇共有四個記憶體裝置的一記憶體系統中之兩個記憶體裝置。可提供對該記憶體系統中之一子集的記憶體裝置之同時選擇,以便將特殊功能提供給特定的應用。
例如,圖形處理可能需要將圖形資料重複地寫到多個記憶體裝置。對於資料冗餘應用而言,將敏感性資料寫到多個記憶體裝置,以便將寫入資料備份,因而即使其中一個記憶體裝置故障了也可確保資料的安全。根據本發明之實施例,提供了一種可以一資料封包進行裝置的多重選擇以便與個別記憶體系統選擇相比時可縮短整體處理時間之記憶體系統。藉由以一資料封包選擇多個記憶體裝置,而將處理一個以上的裝置中之一命令所需的能量最小化。
在也被稱為命令封包的一資料封包中包封了將被傳送到各串聯式裝置之資料。每一封包包含至少一標頭(header)及一資料欄位。該資料欄位包含將要被執行的命令以及將要被儲存在該裝置的資料等的資訊。該標頭包含諸如被指定的裝置之位址等的控制資訊。第3圖中示出串聯式裝置的位元組結構之一典型例子。
命令封包300具有第3圖所示之結構,且包含三個欄位,且視該記憶體控制器發出的特定命令而定,其中兩個欄位是或有的。係為一強制性欄位之第一欄位是命令欄位302。第一或有的欄位是一位址欄位304,且第二或有的欄位是一資料欄位306。
命令欄位302包含兩個子欄位,第一子欄位是一裝置位址欄位308,且第二子欄位是一操作碼欄位310。可將裝置位址欄位308視為命令封包300之標頭,且裝置位址欄位308之長度可以是任何適當數目之位元,而且裝置位址欄位308被用來定址到該系統中之每一記憶體裝置。例如,長度為1位元組(8位元)的裝置位址欄位308足以定址到256(28
)個記憶體裝置,然而,裝置位址欄位308可具有任何所需的長度。可保留一位址,以便同時定址到所有的記憶體裝置,亦即,廣播一操作。在一替代實施例中,裝置位址欄位308可包含一裝置類型欄位,用以指示操作碼欄位310被導向的記憶體裝置之類型。例如,該裝置類型欄位可指定DRAM、SRAM、或快閃記憶體。操作碼欄位310之長度可以是任何適當數目之位元,以便代表任何適當數目之記憶體裝置的命令,且可包含一記憶體區位址。例如,快閃記憶體命令組在固有差異上將具有與DRAM命令組不同之命令,因而如果該系統包含兩種類型的記憶體裝置,則可將該操作碼欄位指定成用來適應該等命令組之所有可能的命令。
然而,處理不同類型的記憶體之一較佳替代方式是將該操作碼空間分成兩組命令:與環狀操作有關的那些命令、以及與記憶體陣列操作有關的那些命令。前一命令組可以是在所有的記憶體類型中都是一致的,而第二命令組則無須如此。該命令組中之操作碼的語意(semantics)將是與記憶體類型有關的。例如,當將被發出到快閃記憶體時意指程式化之一特定操作碼提供給一DRAM時,可能意指更新操作。因為該記憶體控制器必須知道每一被指定的裝置位址上是何種記憶體,所以若這些功能共用相同的操作碼是無關緊要的。視該操作碼指定的操作類型而定,位址欄位304將被用來提供一記憶體陣列的一列位址、一行位址、或一完全位址。資料欄位306將包含將要被寫到或程式化到該記憶體裝置的資料之任何適當數目之位元。因此,命令封包300之大小將有所不同,這是因為某一操作可能不需要寫入資料,而且因為某一操作可能不需要位址及寫入資料。
第4圖示出根據本發明的一實施例之一系統400。系統400包含一記憶體控制器402、以及複數個被串聯之裝置404、406、408、及410。如前文所述,記憶體控制器402經由其Sout埠而發出一命令,該命令包含一操作碼、一裝置位址、用於讀取或程式化的或有之位址資訊、以及用於程式化之資料。一般而言,記憶體控制器402計算被用來只選擇系統400的該等記憶體裝置中之一子集的編碼資訊。該編碼資訊被包含在被發出到所有記憶體裝置之命令封包中。每一記憶體裝置然後將該編碼資訊解碼,以便決定該記憶體裝置是否被選擇來回應所接收的該命令封包之其他欄位。例如,根據本實施例,可能同時選擇裝置404及408執行某一命令,但排除裝置406、410、以及其餘的裝置(圖中未示出)執行相同的命令。
第5圖是本實施例的記憶體系統使用單一命令封包而選擇一個以上的記憶體裝置的方式之一流程圖。在步驟502中,記憶體控制器決定將要執行某一命令的記憶體裝置之數目。在步驟504中,該記憶體控制器根據被選擇的該記憶體裝置之識別位址而產生編碼資訊。在步驟506中,該記憶體控制器發出其中包含將要被執行的命令之一命令封包、以及用來識別該等被選擇的裝置之編碼資訊。在步驟508中,每一記憶體裝置接收該命令封包,並將該編碼資訊解碼,以使決定該記憶體裝置是否被選擇為回應被收收的該命令封包之其他欄位。
第6圖是根據本發明的一實施例的一記憶體系統之一方塊圖。雖然第4圖是多個裝置選擇的一般性概念之一般性方塊圖,但是該實施例示出在該等記憶體裝置與該記憶體控制器之間傳送的信號之細節。記憶體系統600包含一記憶體控制器602、以及在一環狀拓撲組態中被相互串聯之四個記憶體裝置604、606、608、及610。記憶體控制器602發出命令封包及編碼資訊,且該等記憶體裝置中之每一記憶體裝置可將該編碼資訊解碼,以便決定該記憶體裝置是否應回應該命令封包。記憶體控制器602以平行於該等記憶體裝置之方式提供控制信號。這些控制信號包括晶片致能信號CE#及重定信號RST#。在使用CE#之一例子中,當CE#處於低邏輯位準時,該等裝置被致能。在先前技術的各裝置中,一旦一快閃記憶體裝置開始一程式化或抹除操作之後,CE#可被停止觸發,或被驅動到一高邏輯位準。然而,在本實施例中,CE#的停止觸發具有關閉自該被關閉的串聯式記憶體裝置的SiN至其Sout的通訊之效應。因為該等記憶體裝置被連接成環狀,所以該等裝置中之任一裝置被關閉時,將切斷該環中之通訊,且該記憶體控制器無法與該記憶體系統中之所有記憶體裝置通訊。因此,CE#是所有該等串聯式記憶體裝置之一共同信號,且被用來將整個記憶體置於一低電力狀態。在使用RST#之一例子中,當RST#處於低邏輯位準時,該記憶體裝置被設定為一重定模式。在該重定模式中,藉由將所有的有限狀態機(finite state machine)初始化,並將任何組態及狀態暫存器重定至其預設狀態,而可使電力穩定,並可讓該裝置將其本身準備好可供操作。記憶體控制器602包含:時脈輸出埠CKO#及CKO,用以提供互補時脈信號CK及CK#;以及時脈輸入埠CKI#及CKI,用以自該系統的最後記憶體裝置接收該等互補時脈信號。每一記憶體裝置可包含諸如一延遲鎖定回路(DLL)或一鎖相迴路(PLL)等的一時脈合成器,用以產生該等被接收時脈之相位。某些相位被用來在內部將時脈波緣的中心置於輸入資料有效窗內,以便保證可靠的操作。每一記憶體裝置具有:時脈輸出埠CKO#及CKO,用以將該等互補時脈信號傳送到次一記憶體裝置的時脈輸入埠;以及時脈輸入埠CKI及CKI#,用以自記憶體控制器602或前一記憶體裝置接收該等互補時脈信號。最後記憶體裝置610將該等時脈信號提供回到記憶體控制器602。
記憶體控制器602之通道包含資料輸出埠Sout、資料輸入埠Sin、一命令選通脈衝輸入CSI、一命令選通脈衝輸出CSO(CSI之回波)、資料選通脈衝輸入DSI、以及一資料選通脈衝輸出DSO(DSI之回波)。視該記憶體控制器之特性而定,輸出埠Sout及輸入埠SiN之寬度可以是一位元或N位元,其中N是一正整數。例如,如果N是1,則在在八個資料鎖存時脈波緣之後,接收了一位元組的資料。資料鎖存時脈波緣可以是單倍資料速率(Single Datar Rate;簡稱SDR)操作中之諸如時脈上升緣、或雙倍資料速率(Double Data Rate;簡稱DDR)操作中之上升緣及下降緣。如果N是2,則在在四個鎖存時脈波緣之後,接收了一位元組的資料。如果N是4,則在在兩個鎖存時脈波緣之後,接收了一位元組的資料。可針對Sout及SiN的任何寬度,而靜態地或動態地設定該記憶體裝置之組態。因此,在N大於1之一組態中,該記憶體控制器以平行的位元流提供資料。CSI被用來控制或致能該輸入埠SiN上出現的鎖存命令資料,且具有用來限定一命令出現在該資料輸入埠SiN上的時間之一脈波持續時間。更具體而言,命令資料將具有以時脈週期數衡量之一持續時間,且CSI信號之脈波持續時間將具有對應的持續時間。DSI被用來使被選擇的一記憶體裝置之輸出埠Sout緩衝器致能而輸出讀取資料,且具有用來限定自其資料輸出埠Sout提供讀取資料之一脈波持續時間,因而該記憶體控制器知道在資料自最後記憶體裝置返回時鎖存該資料的時機。
因為第6圖所示之本實施例是針對高速操作,所以使用了諸如HSTL信令格式等的一高速信令格式。因此,將一參考電壓VREF提供給每一記憶體裝置,且每一記憶體裝置將該參考電壓VREF用來決定在Sin、CSI、及DSI輸入埠上接收的信號之邏輯位準。可由諸如印刷電路板上之另一電路產生該參考電壓VREF,且係根據HSTL信號的電壓擺幅中點而將該參考電壓VREF設定為一預定電壓位準。
於使用第6圖所示之實施例時,每一記憶體裝置被定位在一印刷電路板上,使該環中之一裝置上的Sout輸出埠接腳與次一裝置的Sin輸入埠接腳間之距離及信號路徑長度被最小化。或者,可將該等四個記憶體裝置集合在一系統級封裝模組(System In Package module;簡稱SIP)中,因而將信號路徑長度進一步最小化。記憶體控制器602及串聯式記憶體裝置604-610被連接成構成一環狀拓撲,亦即最後記憶體裝置610將其輸出提供回到記憶體控制器602。因此,熟悉此項技術者應可了解:易於將記憶體裝置610與記憶體控制器602間之距離最小化。
在第6圖所示之該例示系統實施例中,圖中示出係在一系統同步時脈下將四個記憶體裝置連同記憶體控制器串聯在一環狀拓撲中,然而,可包含任何適當數目之記憶體裝置,且可以平行之方式將該時脈提供給該系統中之所有記憶體裝置。
在第6圖所示之實施例中,記憶體控制器602負責接收主機命令,並在至少兩個不同的記憶體裝置中執行相同的操作。因此,記憶體控制器602包含用來產生適當的編碼資訊之電路,且記憶體裝置604、606、608、及610中之每一記憶體裝置包含用來將該記憶體控制器發出的命令封包中之編碼資訊解碼之電路。第7A圖是負責產生被用來選擇第6圖所示記憶體系統中之多個記憶體裝置的編碼資訊之電路方塊之方塊圖。
第7A圖示出根據本發明的一實施例的記憶體控制器602之一例子。在所示之本例子中,並未示出負責提供及接收第6圖所示的其他信號之其他電路方塊,以便簡化該示意圖。本例子之記憶體控制器602包含一裝置識別器700、一遮罩編碼器800、以及一資料包封器900。裝置識別器700接收主機傳送的被稱為主機命令之命令,且該主機命令可包含多個記憶體裝置將要執行相同的操作之資訊。在此種情形中,裝置識別器700識別需要執行該操作之裝置,而該等裝置可能取決於用來控制諸如均衡損耗(wear levelling)等的其他預設演算法。熟悉此項技術者應可了解:可根據任何預設準則而選擇特定的記憶體裝置。一旦這些裝置被識別之後,裝置識別器700指定這些裝置,並其預先被指定的識別號碼或位址提供給遮罩編碼器800。該等識別號碼可以是諸如二進位值,因而每一記憶體裝置將具有一唯一的二進位識別號碼。
遮罩編碼器800將被選擇的記憶體裝置識別號碼或位址編碼為編碼資訊,並將該編碼資訊提供給資料包封器900。如將於下文中說明的,遮罩編碼器800對所有被選擇的識別號碼執行邏輯運算,以便產生該編碼資訊。資料包封器900產生命令封包,而該命令封包如前文所述可包含一操作碼、一裝置位址、用來對該記憶體裝置中之一記憶體陣列執行讀取或程式化之或有的位址資訊、以及用於程式化之寫入資料。然後將該命令封包傳送到該等串聯式裝置,且該命令封包於開始時被傳送到直接被連接到記憶體控制器602的Sout輸出埠之第一記憶體裝置604。第7B圖示出編碼資訊被儲存在該命令封包中之例子。
第7B圖示出一命令封包300之可能的命令欄位302,其中如前文所述,命令欄位302包含一裝置位址子欄位308以及一操作碼子欄位310。在本例子中,每一裝置位址子欄位308包含一遮罩碼部分314及一目標識別碼部分316,該等的總和寬度為1位元組。當然,裝置位址子欄位308之寬度可大於1位元組,以便容納較多數目的位址。請注意,1111的操作碼將所有記憶體裝置選擇成按照該命令封包進行操作。使用1111的操作碼時,將以廣播位址之方式進行操作,這是因為所有的記憶體裝置將回應該命令封包。因此,這是一種先前技術的廣播機制之一可實行的替代方式,而在先前技術的廣播機制中,係將一保留位址儲存在每一記憶體裝置中,然後將該保留位址與裝置位址子欄位308中儲存的位址比較。當只選擇一裝置時,該遮罩碼中之所有位元被設定為零,且係在封包的標頭中之目標識別碼欄位中傳送被選擇的裝置之位址。因此,對於只將一位址包含在命令的標頭而只指定一記憶體裝置執行某一命令之系統而言,前文所述之該等系統之可實行的替代方式。如前文所述,在所有其他的情形中,被設定為“1”的位元之數目、以及這些位元之位置係取決於被選擇的裝置之數目、以及這些裝置之位址。
第8圖示出根據本發明的一實施例的一裝置識別器700之一例子。裝置識別器700包含一表702或暫存器702,用以儲存自任何識別號碼產生演算法得到的二進位識別號碼,例如,用以儲存前文所參照的共同擁有之專利申請案中述及的二進位識別號碼。表702中儲存的每一識別號碼是與記憶體系統600中之記憶體控制器602串聯的該等記憶體裝置中之一記憶體裝置的位址。在本例子中,假設該記憶體系統包含16個記憶體裝置,因而有16個被儲存在表702中之唯一識別號碼。如果使用了廣播功能,則表702中之一額外的條目儲存被預先選擇的廣播位址BA。熟悉此項技術者應可了解:裝置識別器700包含足以儲存預定最大數目的記憶體裝置的識別號碼之暫存器。裝置識別器700進一步包含一位址處理器704,該位址處理器704負責將主機命令解碼,然後選擇該等串聯式裝置中之一或多個裝置以執行該主機命令內指示之操作。位址處理器704可包含一或多個預設演算法,該一或多個預設演算法在該主機命令指定將要由多個記憶體裝置執行的一操作時,決定將要被選擇的記憶體裝置。例如,一演算法可根據儲存寫入資料的可用空間而選擇記憶體裝置。裝置處理器704根據該主機命令而將該等被選擇的記憶體裝置之識別號碼或位址提供給遮罩編碼器800。
位址處理器704區別該主機命令決定的三種可能情況。在第一種情況中,只指定一記憶體裝置。在第二種情況中,選擇了所有記憶體裝置,且提供一廣播位址BA。在該第一及第二種情況中,繞過了遮罩編碼器800,且將該廣播位址或單一識別號碼經由ID_DIRECT信號線而直接傳送到資料包封器900。在第三種情況中,自所有記憶體裝置中選擇兩個或更多個記憶體裝置,並將該等記憶體裝置之對應的識別號碼提供給遮罩編碼器800。
第9圖是根據本發明的一實施例的第7A圖所示遮罩編碼器800的只供舉例之一電路圖。第9圖示出被設計成將多達四個識別號碼編碼之一編碼器,然而,熟悉此項技術者應可易於了解:在不脫離本發明的範圍下,可將所示之該遮罩編碼器設計及擴展成將兩個、四個、或任何數目的識別號碼之遮罩碼編碼。在本例子中,係將每一識別號碼編碼為四位元的位址。
下文中將提供對本實施例的遮罩編碼器800的操作之一般性概觀。當裝置識別器700提供的被選擇之位址子集被遮罩編碼器800接收時,遮罩編碼器800選擇該等被選擇的識別號碼中之任一識別號碼作為目標識別位址。對將該等被選擇的識別號碼中之一識別號碼指定為該目標識別位址之該指定可以是任意的或是根據任何預定準則。該目標識別位址被用來將一遮罩碼編碼,且該被編碼之遮罩碼連同該目標識別位址被傳送到該命令封包中之該等串聯式裝置。該遮罩碼及該目標識別位址都被包含在諸如第3圖所示裝置位址子欄位308等的一命令封包欄位,且後文中將該遮罩碼及該目標識別位址稱為編碼資訊。在邏輯上將每一識別號碼與目標識別位址合倂,以便在一第一編碼電路中產生具有與原始識別號碼相同的位元數之一被編碼的識別號碼。在一第二及最後編碼電路中,將每一被編碼之識別號碼的各相同位元位置在邏輯上合倂,以便產生該遮罩碼的對應之位元位置。在本例子中,因為識別號碼位址是四位元,所以在該最後編碼電路之後產生一個四位元的遮罩碼。
現在將詳細說明第9圖所示該遮罩編碼器實施例之細節。該第一編碼電路對應於一第一編碼級,該第一編碼級包含識別碼編碼器802、804、806、及808。該第二編碼電路對應於一第二編碼級,該第二編碼級包含遮罩編碼器812。識別碼編碼器802被指定給位址1,識別碼編碼器804被指定給位址2,識別碼編碼器806被指定給位址3,且識別碼編碼器808被指定給位址4,其中每一位址對應於一識別號碼。為了簡化該示意圖,只示出識別碼編碼器802及804之電路細節,這是因為所有的識別碼編碼器都包含相同的電路,且被以相同的方式連接到其各別之位址及目標識別碼。
識別碼編碼器802包含一組"互斥反或"閘822、824、826、及828,每一"互斥反或"閘具有用來自該目標識別碼的一位元位置接收一位元之一輸入端、以及用來自位址1的一對應的位元位置接收一位元之一第二輸入端。如第9圖所示,係為第四位元之最高有效位元被連接到"互斥反或"閘822之一第一輸入端。係為第四位元之該目標識別碼的對應的位元被連接到"互斥反或"閘822之該第二輸入端。因此,比較器822之輸出是該位址1之被編碼的第四位元。"互斥反或"閘824、826、及828分別接收位址1之第三、第二、及第一位元、以及該目標識別碼,以便產生位址1之被編碼的第三、第二、及第一位元。以與參照識別碼編碼器802所述的方式相同之方式設定識別碼編碼器804、806、及808的該等"互斥反或"閘之組態,但不同之處在於該等"互斥反或"閘係分別自位址2、位址3、及位址4接收位元。"互斥反或"閘之使用的用意只是作為可能的編碼邏輯之一例子。熟悉此項技術者應可了解:可使用其他的邏輯閘組合而得到相同的結果。例如,可以此項技術中習知的邏輯閘之不同組合得到"互斥反或"邏輯。
第二編碼電路812包含四個"反及"邏輯閘814、816、818、及820。每一"反及"邏輯閘自每一被編碼的位址之相同的邏輯位元位置接收一位元,以便產生該遮罩碼的對應的位元位置之一位元。例如,係為對應於位址1的被編碼之識別號碼之第四位元位置的"互斥反或"閘822之輸出被連接到"反及"邏輯閘814之一第一輸入端。"反及"邏輯閘814之第二至第四輸入端被連接到用來提供其他被編碼之識別號碼的第四位元位置的每一"互斥反或"閘之輸出端。因此,"反及"邏輯閘814之輸出代表該遮罩碼之第四及最高有效位元,而"反及"邏輯閘816、818、及820之輸出則分別代表第三、第二、及第一最高有效位元。雖然第9圖所示之該第二編碼電路使用了"反及"閘,但是熟悉此項技術者應可了解:可將任何類型的邏輯電路用來回應每一被編碼之識別號碼的相同位元位置而產生該遮罩碼之每一位元。
亦可將第7A圖所示之該位址處理器包含在遮罩編碼器800內。在此種情形中,該遮罩編碼器可偵測在該記憶體控制器內部接收的命令中之被選擇之裝置的位址。然而,為了簡化說明,已分別說明了每一功能,以便對所述及的及在申請專利範圍中提到的本發明有更佳的了解。
第10A圖示出第9圖所示遮罩編碼器800之一例示操作。該例子示出在該遮罩編碼器上接收到下列四個識別號碼位址時產生一遮罩碼之情形:0100、0101、0110、0111。進一步假設該遮罩編碼器選擇位址0100作為目標識別碼。第10A圖所示矩陣的最左行示出識別號碼位址,而第10A圖所示矩陣的最右行的上方列中示出該目標識別碼。遵循第9圖所示之邏輯,每一識別碼編碼器802、804、806、及808產生該矩陣的最右行中所示之被編碼之識別號碼。例如,可將該等被編碼之識別號碼的該等位元視為一MxN矩陣,其中M是用來代表該矩陣的行位置之一非零整數,且N是用來代表該矩陣的列位置之一非零整數。該行中之每一位元被輸入到諸如第9圖所示"反及"邏輯閘814、816、818、及820等的一"反及"閘,且每一"反及"閘之輸出代表該遮罩碼中對應於第10A圖所示矩陣中之行位置的遮罩中位置之一位元。例如,用來接收該最右行的位元的"反及"閘之輸出對應於該遮罩碼之最右位元。換言之,可將該矩陣自一MxN矩陣轉置為一NxM矩陣,並將每一列之條目提供給一各別之"反及"閘。
根據本發明,任一組被選擇的位址之遮罩碼是這些位址所獨有的,且該遮罩碼係基於該等被選擇的位址之數值,且不論哪一位址被選擇為目標識別碼都是如此。例如,如果在第10B圖所示之例子中,被選擇之目標識別碼是0110,而非0100,因而對應於位址1、位址2、位址3、及位址4之所得到的被編碼之識別號碼分別為:1101、1100、1111、及1110。然而,當這些結果被輸入到其各別之"反及"閘時,所得到的該遮罩碼仍然是0011。
該遮罩碼及被選擇的位址之一有用特性是:對遮罩碼與任何被選擇的位址執行邏輯"或"加法時,將產生具有最大數值之被選擇的位址。第11圖示出具有在最左行中出現之被選擇的位址以及在在最右行的上方列中出現的遮罩碼之一矩陣。對該遮罩碼與每一被選擇的位址執行邏輯"或"運算時,將得到對應於位址4之0111結果。如將於下文中說明的,可將該特性用來識別執行指令的最後被指定之裝置,且將命令信號輸出QN切換到一空值,以便節省載送該命令的信號之能量,這是因為在該最後被指定之裝置與該記憶體控制器之間的裝置並未被指定。例如,空值可意指具有相同邏輯位準之一靜態信號。
一旦產生了該遮罩碼之後,資料包封器900提供其中包含該命令的操作碼、或有的位址及或有的寫入資料、以及該遮罩碼之一命令封包。如第3圖所示,可將該遮罩碼及目標識別位址包含在裝置位址子欄位308中,可將該操作碼包含在操作碼子欄位310中,任何位址可被包含在位址欄位304中,且任何或有的寫入資料可被包含在資料欄位306中。資料包封器900然後將該命令封包傳送到該系統中之所有記憶體裝置。
前文所述之實施例示出如何產生具有固定數目的位元之遮罩碼以代表對應於記憶體系統中之複數個記憶體裝置之一子集。為了使該等被指定的記憶體裝置回應命令封包之操作碼,每一記憶體裝置包含一識別碼處理器,用以將遮罩碼解碼,並只有在該記憶體裝置具有係為該遮罩碼中被編碼的該被選擇的位址子集中之一成員之一裝置識別號碼時,才使該記憶體裝置的一命令解譯器致能,以便對該命令封包的操作碼起作用。
第12圖是被設計成連接到另一記憶體裝置或一記憶體控制器(例如,第6圖所示該等記憶體裝置中之每一記憶體裝置、以及記憶體控制器)以便接收及提供形式為序列位元流的資料的一記憶體裝置的一資料輸入/輸出介面的一實施例之一方塊圖。資料輸入/輸出介面1200包含一資料流經路徑及一記憶體路徑。
該資料流經路徑包含被串聯在SiN輸入埠與Sout輸出埠之間的一輸入緩衝器1202、一正反器1204、一資料選擇器1206、以及一輸出緩衝器1208。該資料流經路徑將命令封包及在其SiN輸入埠上自前一記憶體裝置接收的任何讀取資料耦合到該Sout輸出埠。因此,可將命令封包提供給該串聯式記憶體系統中之所有記憶體裝置。正反器1204將在SiN接收的資料之位元重新對準一時脈,而選擇器1206可回應信號LAST_ID而選擇性地輸出來自正反器1204之資料或來自該記憶體裝置之讀取資料。因此,可將選擇器1206實施為一多工器/解多工器。
該記憶體路徑包含一識別碼處理器1210、一命令剖析器1211、命令暫存器1212、位址暫存器1214、輸入資料暫存器1216、輸出資料暫存器1218、命令解譯器1220、以及一核心電路方塊1222。因為係以諸如第3圖所示之方式預先界定了命令封包之結構,所以該命令剖析器之組態被設定以對應的資訊載入每一上述之暫存器。一旦被載入之後,命令暫存器1212將一操作碼提供給命令解譯器1220,位址暫存器1214將列及行位址資訊提供給核心電路方塊1222,且輸入資料暫存器1216將寫入或程式化資料提供給核心電路方塊1222。輸出資料暫存器1218儲存來自核心電路方塊1222的記憶體陣列之讀取資料。命令解譯器1220是一習知的組件,被用來將該命令封包中包含的操作碼解碼,並提供核心電路方塊1222及該記憶體裝置的其他電路使用之控制信號。核心電路方塊1222包含一記憶體陣列、以及被用來控制該記憶體陣列之諸如列、區塊、及行解碼器、以及資料路徑電路等的核心電路。識別碼處理器1210包含一裝置識別碼暫存器1224、一遮罩暫存器1226、一目標識別碼暫存器1228、一加法器1230、一識別碼匹配解碼器1232、以及一最後識別碼解碼器1234。暫存器1226及1228之內容被命令剖析器1211載入,並將其所儲存之資訊提供給加法器1230以及解碼器1232及1234。可在該記憶體系統的電力開啟初始化期間將裝置識別碼動態地預先儲存在暫存器1224,或者可在該記憶體裝置的製造期間預先儲存該裝置識別碼。
資料輸入/輸出介面1200經由輸入埠SiN接收自該記憶體控制器或前一記憶體裝置傳送的命令封包,並將編碼資訊的遮罩碼儲存在遮罩暫存器1226,將該編碼資訊的目標識別碼儲存在目標識別碼暫存器1228,並將操作碼命令儲存在命令暫存器1212。識別碼匹配解碼器1232分別自暫存器1224、1226、及1228接收該裝置識別碼、該遮罩碼、及該目標識別碼,且對該等碼執行邏輯運算。一般而言,識別碼匹配解碼器1232將該遮罩碼之資訊與該記憶體裝置的被指定之識別號碼/位址比較。如果發現該被指定之識別號碼在該遮罩碼中被編碼,則將識別碼匹配解碼器1232之輸出信號ID_MATCH設定為諸如邏輯1等的一現用邏輯位準,因而將命令解譯器1220致能,而解譯命令暫存器1212中儲存的該操作碼。否則,命令解譯器1220不理會命令暫存器1212中儲存的該操作碼。
在所述之本實施例中,識別碼處理器1210可只包含暫存器1224、1226、1228以及識別碼匹配解碼器1232。根據本發明的另一實施例,可禁止或防止被指定的最後記憶體裝置將命令封包傳送到該記憶體系統中之任何其餘的記憶體裝置,而減少電力消耗。因此,除了暫存器1224、1226、1228以及識別碼匹配解碼器1232之外,識別碼處理器1210可進一步包含合而構成一輸出禁止電路之加法器1230及最後識別碼解碼器1234。如前文所述,可將任何被指定的記憶體裝置之識別號碼/位址加到該遮罩碼,以便產生最後被指定的記憶體裝置之識別號碼/位址。在第12圖所示之本實施例中,加法器1230將遮罩暫存器1226中儲存的遮罩碼加到目標識別碼暫存器1228中儲存的係為該等被指定的裝置中之一被指定的裝置的位址之目標識別碼,而產生該最後被指定的記憶體裝置之位址。最後識別碼解碼器1234然後將裝置識別碼暫存器1224中儲存的該記憶體裝置之位址與加法器1230產生的最後被指定的裝置之位址比較。如果該記憶體裝置之位址與所產生的最後被指定的裝置之位址之間沒有匹配(也被稱為不匹配),則該輸出信號LAST_ID被設定為諸如邏輯0等的一非現用邏輯位準,且選擇器1206將正反器1204之輸出耦合到輸出緩衝器1208,而使該命令封包能夠被傳送到次一裝置。否則,如果存在一匹配,則該輸出信號LAST_ID被設定為諸如邏輯1等的一現用邏輯位準,且選擇器1206將輸出緩衝器1208之輸入端耦合到輸出資料暫存器1218。
輸出資料暫存器1218可儲存來自一先前讀取操作之輸出資料,或者可被重定。不論是哪一種情形,輸出資料暫存器1218都靜態地將可以是一邏輯1或0信號之一位元的資料提供給選擇器1206。因此,該最後被指定的記憶體裝置之Sout驅動且維持一靜態邏輯位準。因此,所有後續的記憶體裝置都將接收該靜態邏輯位準,且將節省該記憶體系統之電力消耗,這是因為其餘的記憶體裝置之任何Sout輸出埠並不進行任何進一步的信號切換。在本實施例中,藉由將輸出緩衝器1208耦合到輸出資料暫存器1218,而禁止該命令封包被傳送到該系統中之其餘的記憶體裝置。在替代實施例中,信號LAST_ID可關閉輸出緩衝器1208,或者可關閉選擇器1206之輸出或切斷選擇器1206的輸出與輸出緩衝器1208間之連接,或者可關閉正反器1204之輸出或切斷正反器1204的輸出與選擇器1206間之連接。
第13圖是識別碼匹配解碼器1232及最後識別碼解碼器1234之例示電路圖。識別碼匹配解碼器1232在邏輯上合倂該記憶體裝置的遮罩碼MC[1:4]、目標識別號碼T_ID[1:4]、及識別號碼D_ID[1:4]之位元,以便決定該記憶體裝置是否被指定。更具體而言,識別碼匹配解碼器1232決定該記憶體裝置之識別號碼是否在該遮罩碼中被編碼。最後識別碼解碼器1234在邏輯上合倂該記憶體裝置的遮罩碼MC[1:4]及識別號碼D_ID[1:4],以便決定該記憶體裝置是否為該對應的命令封包之最後被指定的裝置。在本例子中假設該遮罩碼、該目標識別號碼、及該裝置識別號碼都是四位元。
識別碼匹配解碼器1232包含一組"互斥反或"邏輯閘1302、1304、1306、及1308、一組"或"邏輯閘1312、1314、1316、及1318、以及一"及"邏輯閘1320。所有四個"互斥反或"邏輯閘構成一比較器,用以將所接收的目標識別碼之每一位元與裝置識別號碼之對應的位元位置比較。例如,"互斥反或"邏輯閘1302將該目標識別號碼之最低有效位元T_ID[1]與該裝置識別號碼之最低有效位元D_ID[1]比較,並提供一比較結果。可將所有該等四個比較結果稱為一被編碼的目標識別號碼。每一"互斥反或"邏輯閘之輸出端被連接到一對應的"或"邏輯閘之一輸入端。每一"或"邏輯閘之另一輸入端接收該遮罩碼之一對應的位元位置。所有四個"或"邏輯閘合而構成一加法器,用以將該被編碼的目標識別號碼與該遮罩碼相加,以便提供一經過修改的被編碼之目標識別號碼。將來自每一"或"邏輯閘的所得到之輸出提供給被用來作為一乘法器之"及"邏輯閘1320,該"及"邏輯閘1320可將信號ID_MATCH驅動到邏輯1或0。在本例子中,來自加法器1312、1314、1316、及1318中之每一加法器的邏輯1輸出指示本記憶體裝置被指定為對該命令封包發生作用。以處於邏輯1之ID_MATCH代表該狀態。如果至少一"或"邏輯閘輸出一邏輯0,則本記憶體裝置並未被指定,ID_MATCH被設定為邏輯0,且不理會該操作碼。當被設定為邏輯1時,ID_MATCH使命令解譯器1220致能,而解譯命令暫存器1212中儲存的操作碼,以便產生用來控制核心電路方塊1222中之電路的適當之控制信號。
加法器1230包含一組"或"邏輯閘1342、1344、1346、及1348,而最後識別碼解碼器1234包含一組"互斥反或"邏輯閘1341、1343、1345、及1347、以及一"及"邏輯閘1350。加法器1230將該遮罩碼之每一位元MC[1:4]與該目標識別號碼的之對應的位元位置T_ID[1:4]相加。例如,"或"邏輯閘1342接收最高有效位元MC[4]及T_ID[4]。如前文所述,該加碼將可在該等"或"邏輯閘的輸出端上得到最後被指定的裝置之位址。因此,每一"或"邏輯閘1342、1344、1346、及1348之輸出代表最後被指定的裝置的識別號碼之一位元。將所產生的最後被指定的裝置的識別號碼之該等位元提供給"互斥反或"邏輯閘1341、1343、1345、及1347之一輸入端。最後識別碼解碼器1234的每一"互斥反或"邏輯閘之另一輸入端被連接到該裝置識別號碼之對應的位元。"互斥反或"邏輯閘1341、1343、1345、及1347合而被用來作為一比較器,用以將該裝置識別號碼與所產生的最後被指定的裝置之識別號碼比較。在本例子中,"互斥反或"邏輯閘1341、1343、1345、及1347的輸出端上之邏輯1指示本記憶體裝置是對應的命令封包之最後被指定的裝置。如果該等輸出中之至少一輸出是邏輯0,則本記憶體裝置不是最後被指定的裝置。"互斥反或"邏輯閘1341、1343、1345、及1347之輸出被連接到"及"邏輯閘1350之輸入端,而該"及"邏輯閘1350被用來作為一乘法器。當"及"邏輯閘1350之輸出LAST_ID係處於邏輯1時,第12圖所示之選擇器1206將正反器1204與輸出緩衝器1208斷開,且將輸出資料暫存器1218連接到輸出緩衝器1208,以便節省能量。否則,將該命令封包提供給次一裝置。
下文是第13圖所示識別碼匹配解碼器1232及最後識別碼解碼器1234使用先前被指定的識別號碼而將遮罩碼編碼之一例示操作。如前文所述,當被指定的四個識別號碼是0100、0101、0110、0111時,所得到的遮罩碼是0011。假設該命令封包包含0110的目標裝置識別碼、及0011的遮罩碼,且係由具有被指定的識別號碼0101之一記憶體裝置接收該命令封包。因此,每一記憶體裝置接收該命令封包,並剖析各欄位,使遮罩暫存器1226儲存四位元的遮罩碼,而目標識別碼暫存器1228儲存四位元的目標裝置識別號碼。下表1示出該等位元映射到該遮罩碼、目標裝置識別號碼、及被指定的裝置識別號碼的對應位元位置之關係。第14圖是本發明實施例的記憶體系統回應選擇性地定址到一子集的記憶體裝置的一命令封包的操作之一流程圖。
在第14圖中,假設主機(圖中未示出)發出一命令,亦即,發出對各記憶體裝置之一讀取或寫入資料命令。在步驟1400中,由該等裝置被串聯的該記憶體控制器接收該命令。該記憶體控制器解譯該命令,並決定具有識別號碼0100、0101、0110、0111之記憶體裝置將要執行該命令。在步驟1402中,將該等四個被選擇之裝置識別號碼(裝置識別號碼1、裝置識別號碼2、裝置識別號碼3、及裝置識別號碼4)用來對該等被指定的裝置特定之遮罩碼進行計算或編碼。該遮罩碼及該目標識別碼連同對應於該主機發出的該命令之操作碼被包封到一命令封包,且在步驟1404中,該命令封包然後被連續地傳送到該等記憶體裝置中之每一記憶體裝置。在步驟1406中,被連接到該記憶體控制器之第一記憶體裝置將在該命令封包中接收的該遮罩碼及目標識別碼解碼,以便經由諸如該記憶體裝置的識別碼匹配解碼器1232而決定其是否被指定。如果該記憶體裝置具有表1中列出的四個識別號碼以外之一識別號碼,則該第一記憶體裝置並未被指定。因此,在步驟1408中,來自該記憶體裝置的識別碼匹配解碼器1232之信號ID_MATCH將被設定為一非現用邏輯0。然後在步驟1410中,該命令被傳送到該系統中之次一記憶體裝置,且本方法回到由該次一記憶體裝置執行之步驟1406。
如果該次一記憶體裝置被指定為裝置識別碼1,則該記憶體裝置是該等被指定的記憶體裝置中之一被指定的記憶體裝置。現在將參照第14圖且使用表1中之值而說明該解碼步驟1406。當該裝置識別碼是0100時,"互斥反或"邏輯閘1302、1304、1306、及1308之輸出分別是1111。在將該結果與該遮罩碼進行"或"邏輯運算之後,"或"邏輯閘1312、1314、1316、及1318之輸出分別是1111。因此,"及"邏輯閘1320將ID_MATCH設定為現用邏輯1。因為ID_MATCH是現用邏輯1,所以在步驟1408中決定本記憶體裝置被指定。因此,在步驟1412中,命令解譯器1220解譯命令暫存器1212中儲存的操作碼,且執行該操作碼。在本方法的一實施例中,本方法終止於步驟1412,而在步驟1410中將該命令封包傳送到次一記憶體裝置。因此,所有未被指定的記憶體裝置執行步驟1406、1408、及1410,而具有裝置識別碼2、裝置識別碼3、及裝置識別碼4的記憶體裝置執行步驟1406、1408、1410、及1412。尤其請注意,係由具有裝置識別碼4之最後被指定的記憶體裝置執行步驟1410。然而,如果該最後被指定的記憶體裝置與該記憶體控制器之間還有任何被串聯的任何後續記憶體裝置,則這些中間記憶體裝置中之每一記憶體裝置將接收該命令封包,並將該命令封包傳送到次一記憶體裝置,直到該記憶體控制器接收到該命令封包為止。
如前文所述,因為該最後被指定的記憶體裝置已執行了該命令,所以該等中間記憶體裝置甚至無須接收該命令封包,這是因為該等中間記憶體裝置並未被指定執行該命令。此外,將該命令封包自未被指定的記憶體裝置傳送到未被指定的記憶體裝置之動作消耗了信號轉變的電力。在使用上述例子的最差狀況中,該記憶體系統中之前四個記憶體裝置是該等被指定的記憶體裝置,而留下最大數目的未被指定的中間記憶體裝置。
在本方法之一替代實施例中,可使每一被指定的記憶體裝置檢查其是否為相同命令之最後被指定的裝置,而減少電力消耗。繼續說明第14圖所示步驟1412之後的情形,且假設現行的記憶體裝置具有裝置識別碼3,此時在步驟1414中決定該記憶體裝置是否為最後被指定的記憶體裝置。係經由最後識別碼解碼器1234而作出該決定。例如,不論現行的裝置識別號碼為何,加法器1230的"或"邏輯閘1342、1344、1346、及1348之輸出都是0111。該結果是所產生之最後被指定的裝置之識別碼,且將該最後被指定的裝置之識別碼與係為裝置識別碼0的本記憶體裝置之裝置識別號碼比較。然後,各"互斥反或"邏輯閘之輸出分別是1110。因此,"及"邏輯閘1350將LAST_ID驅動到非現用邏輯0,意指本記憶體裝置不是最後被指定的記憶體裝置。在此種情形中,第14圖所示之方法繼續執行步驟1410,且將該命令封包傳送到次一記憶體裝置。
另一方面,如果本記憶體裝置具有裝置識別碼4,則將加法器1230的0111輸出與裝置識別碼4比較,而得到1111之輸出。因此,"及"邏輯閘1350將LAST_ID驅動到現用邏輯1,意指本記憶體裝置是最後被指定的記憶體裝置。在此種情形中,第14圖所示之本方法繼續執行步驟1416。在步驟1416中,該命令封包被禁止或防止傳送到次一記憶體裝置,這是因為該記憶體裝置之Sout輸出埠被設定為一靜態空值。該空值可以是一靜態邏輯0或邏輯1值。如例示之第12圖所示,可將輸出緩衝器1208耦合到輸出資料暫存器1218,而得到該空值。
根據第13圖所示之電路例子,係以與步驟1408平行之方式執行步驟1414,在步驟1408中,該記憶體裝置經由識別碼匹配解碼器1232而偵測其是否被指定。根據一替代電路例子,若識別碼匹配解碼器1232決定該記憶體裝置是一被指定的記憶體裝置,則在步驟1408之後接續執行步驟1414。可將ID_MATCH連接到"及"邏輯閘1350之另一輸入端,而執行上述步驟。因此,只有在ID_MATCH處於邏輯1值時,才使"及"邏輯閘1350致能。
因此,如本發明的上述實施例所示,被稱為被指定的或被選擇的記憶體裝置之一子集的記憶體裝置可回應記憶體控制器發出之單一命令封包。可將用來產生被嵌入該命令封包中的編碼資訊的遮罩編碼器800之前文所示之例子設計成正好接收四個被指定的裝置之識別位址,或者可將該遮罩編碼器800擴展成接收最大數目的預期被指定的位址。然而,此種遮罩編碼器將因額外的邏輯電路而增加該記憶體裝置之面積。因此,如果要將遮罩編碼器800的尺寸最小化,則可將該遮罩編碼器限制為最多接收四個、八個、或任何2N
個裝置識別號碼。然而,如果有比遮罩編碼器800可容納的數目更多之被指定的裝置識別號碼,則需要有至少兩個執行週期,其中一週期包括將該遮罩碼編碼且將對應的命令封包發出到該等記憶體裝置。換言之,至少兩個不同組的記憶體裝置將執行相同的命令,但是卻係回應至少兩個不同的命令封包。
第15圖示出對一記憶體系統中之六個串聯式記憶體裝置1500之選擇,其中該遮罩編碼器之組態被設定接收最多四個被指定的裝置識別號碼。假設每一記憶體裝置具有前文所述之識別碼處理器1210。在該例子中,第8圖所示之位址處理器704將2N
個的組中之被選擇的裝置之識別號碼提供給遮罩編碼器800,其中N是2。當要將第15圖所示該等裝置之識別號碼提供給遮罩編碼器800時,位址處理器704以兩組之方式提供這些裝置的識別號碼。首先是一組的兩個位址(21
),然後是一組的四個位址(22
)。可顛倒該順序,而不會影響到該系統的操作。請注意,位址處理器704保證在一組內被提供給遮罩編碼器800的該等被選擇的裝置之識別號碼不包含互補的識別號碼。例示之互補識別號碼配對包括0100及1011、1100及0011等的配對。因此,在第一執行週期中,使用兩個位址的那組產生一第一遮罩碼。該等被指定的兩個記憶體裝置然後執行該命令封包中之操作碼。在該第一執行週期之後的第二執行週期中,被指定的四個記憶體裝置執行第二命令封包中之相同的操作碼。
在前文之說明中,為了便於解說,本發明述及了許多細節,以使提供對本發明的該等實施例之徹底了解。然而,熟悉此項技術者應可了解:可在無須這些特定的細節即可實施本發明。在其他的情形中,係以方塊圖之形式示出一些習知的電氣結構及及電路,以便不會模糊了本發明。例如,並未提供以軟體常式、硬體電路、韌體、或以上各項的組合之方式實施本發明所述的實施例之特定細節。
前文所述之本發明的本發明只是舉例。例如,本發明不限於各圖式中示出之閘。熟悉此項技術者應可了解:可使用執行該等閘執行的相同功能之其他電路及電路圖。亦可將其他的編碼器及解碼器組態用於該記憶體控制器及該等串聯式裝置。熟悉此項技術者可在不脫離由最後的申請專利範圍所唯一界定的本發明之範圍下,對該等特定的實施例作出各種改變、修改、及變化。
12...主機系統
10...先前技術之系統
14,22,42,402...記憶體控制器
16,604,606,608,610,1500...記憶體裝置
18...通道
20,40,400...系統
300...命令封包
302...命令欄位
304...位址欄位
306...資料欄位
308...裝置位址欄位
310...操作碼欄位
404,406,408,410...裝置
600...記憶體系統
602...記憶體控制器
700...裝置識別器
800...遮罩編碼器
900...資料包封器
314...遮罩碼部分
316...目標識別碼部分
702...表
704...位址處理器
802,804,806,808,1210...識別碼編碼器
812...遮罩編碼器
822,824,826,828,1302,1304,1306,1308,1341,1343,1345,1347..."互斥反或"邏輯閘
814,816,818,820..."反及"邏輯閘
1200...資料輸入/輸出介面
1202...輸入緩衝器
1204...正反器
1206...資料選擇器
1208...輸出緩衝器
1211...命令剖析器
1212...命令暫存器
1214...位址暫存器
1216...輸入資料暫存器
1218...輸出資料暫存器
1220...命令解譯器
1224...裝置識別碼暫存器
1226...遮罩暫存器
1228...目標識別碼暫存器
1230...加法器
1232...識別碼匹配解碼器
1234...最後識別碼解碼器
1312,1314,1316,1318,1342,1344,1346,1348..."或"邏輯閘
1320,1350..."及"邏輯閘
前文中已參照各附圖而以只是舉例之方式說明了本發明之實施例,在該等附圖中:
第1圖是與一主機系統整合的一先前技術之系統之一方塊圖;
第2A圖是接收一平行時脈信號的一系統之一方塊圖;
而第2B圖是接收一來源同步時脈信號的第2A圖所示相同系統之一方塊圖;
第3圖示出串聯式裝置之位元組結構;
第4圖示出根據本發明的一實施例之一系統;
第5圖是記憶體系統使用單一命令封包而選擇一個以上的記憶體裝置的方式之一流程圖;
第6圖是根據本發明的一實施例的一記憶體系統之一方塊圖;
第7A圖是負責產生被用來選擇第6圖所示記憶體系統中之多個記憶體裝置的編碼資訊之電路方塊之方塊圖;
第7B圖示出一命令封包之可能的例示命令欄位;
第8圖示出根據本發明的一實施例的一裝置識別器之一例子;
第9圖是根據本發明的一實施例的一遮罩編碼器的一例子之一電路圖;
第10A圖是第9圖所示遮罩編碼器的一例示操作之一表;
第10B圖是第9圖所示遮罩編碼器的另一例示操作之一表;
第11圖示出對被選擇的位址與遮罩碼執行一邏輯"或"運算之一矩陣;
第12圖是被設計成與另一記憶體裝置或一記憶體控制器串聯的一記憶體裝置的一資料輸入/輸出介面的一實施例之一方塊圖;
第13圖是識別碼匹配解碼器及最後識別碼解碼器之一例示電路圖;
第14圖是本發明實施例的記憶體系統回應選擇性地定址到一子集的記憶體裝置的一命令封包的操作之一流程圖;以及
第15圖示出具有六個串聯式記憶體裝置之一例示記憶體系統。
400...系統
402...記憶體控制器
404,406,408,410...裝置
Claims (35)
- 一種選擇被串聯到一記憶體控制器的複數個裝置中之一子集的裝置以便執行一命令之方法,該方法包含:將該子集的裝置中之每一裝置之識別(ID)號碼編碼,以便提供編碼資訊,係藉由實施數學運算以邏輯地合併裝置中之該子集的該識別號碼以產生一遮罩;將包含一操作碼(op code)及該編碼資訊之一命令封包提供給該複數個裝置中之每一裝置;將該複數個裝置中之每一裝置所接收的該編碼資訊解碼,係藉由於各裝置實施數學運算於該遮罩及儲存於該裝置中之識別號碼,以決定該遮罩是否將儲存於該裝置中之該識別號碼編碼;以及若該裝置中儲存的一識別號碼在該接收的編碼資訊中被編碼,則執行該操作碼。
- 如申請專利範圍第1項之方法,其中該記憶體控制器提供2x 個該等識別號碼,其中x是大於零之一整數。
- 如申請專利範圍第1項之方法,其中該等識別號碼中之每一識別號碼的長度是N位元,且該編碼資訊包含長度為N位元之一目標識別號碼、及長度為N位元之一遮罩碼,其中N是大於零之一整數值。
- 如申請專利範圍第3項之方法,其中該編碼步驟包含: 將該子集的裝置中之一識別號碼選擇為該目標識別號碼;將該子集的裝置中之每一裝置的識別號碼與該目標識別號碼比較,以便產生對應的編碼識別號碼;以及在邏輯上合併該等編碼識別號碼中之每一編碼識別號碼的相同位元位置中之一位元,以便產生具有該遮罩碼中之對應的位元位置之一個位元。
- 如申請專利範圍第4項之方法,其中有對應於該子集的裝置之M個識別號碼,其中M是大於零之一整數值。
- 如申請專利範圍第5項之方法,其中該比較步驟包含下列步驟:在一M*N矩陣中輸出該比較結果;以及將該M*N矩陣轉置為一N*M矩陣。
- 如申請專利範圍第6項之方法,其中藉由對該N*M矩陣的N個列中之一列的比較結果執行一邏輯函數,而產生該一個位元。
- 如申請專利範圍第7項之方法,其中自該N*M矩陣的第一列產生的該遮罩碼之第一位元代表該遮罩碼之一最高有效位元,且自該N*M矩陣的最後一列產生的該遮罩碼之最後一位元代表該遮罩碼之一最低有效位元。
- 如申請專利範圍第4項之方法,其中該比較步驟包含下列步驟:在該子集的裝置中之每一裝置的該等識別號碼之間利用該目標識別號碼而執行一“互斥反或”(XNOR )函數。
- 如申請專利範圍第4項之方法,其中該邏輯上合併步驟包含下列步驟:在該等編碼識別號碼中之每一編碼識別號碼的相同位元位置中之各位元之間執行一“反及”(NAND)函數。
- 如申請專利範圍第4項之方法,其中該解碼步驟包含下列步驟:利用該目標識別號碼和該遮罩碼而處理該裝置中儲存的該識別號碼,以便提供該裝置中儲存的該識別號碼的所有位元位置在該遮罩碼中被編碼之一指示。
- 如申請專利範圍第11項之方法,其中該處理步驟包含:將該裝置中儲存的該識別號碼的每一位元位置之位元與該目標識別號碼的每一對應的位元位置之對應的位元比較,以便產生一編碼目標識別號碼;將該遮罩碼加到該編碼目標識別號碼,以便提供一經過修改的編碼目標識別號碼;以及將該經過修改的編碼目標識別號碼之該等位元相乘,以便提供該裝置中儲存的該識別號碼的所有位元位置在該遮罩中被編碼之該指示。
- 如申請專利範圍第12項之方法,其中比較該裝置中儲存的該識別號碼的每一位元位置之該等位元之該步驟包含下列步驟:執行一“互斥反或”邏輯函數;將該遮罩碼加到該編碼目標識別號碼之該步驟包含下列步驟:執行一“或”邏輯函數;以及將該經過修改的編碼目標識別號碼之 該等位元相乘之該步驟包含下列步驟:執行一“及”邏輯函數。
- 如申請專利範圍第3項之方法,其中提供該命令封包之該步驟包含下列步驟:該複數個裝置中之每一裝置自前一裝置及該記憶體控制器中之一者接收該命令封包,並將該命令封包傳送到一後續裝置及該記憶體控制器中之一者,該前一裝置及該後續裝置包括記憶體裝置。
- 如申請專利範圍第14項之方法,進一步包含下列步驟:當該子集的裝置中之最後裝置將該編碼資訊解碼時,禁止該命令封包被傳送到該後續裝置及該記憶體控制器中之一者。
- 如申請專利範圍第15項之方法,其中該禁止步驟包含下列步驟:在邏輯上合併該目標識別號碼、該遮罩碼、及該裝置中儲存的該識別號碼,以便提供一最後裝置信號;以及回應該最後裝置信號,而將一輸出緩衝器設定為一空值。
- 如申請專利範圍第16項之方法,其中在邏輯上合併之該步驟包含下列步驟:將該目標識別號碼加到該遮罩碼,以便得到一最後被指定之裝置位址;以及將該最後被指定之裝置位址與該裝置中儲存的該識別號碼比較,當該最後被指定之裝置位址與該裝置中儲存的該識別號碼匹配時,產生該最後裝置信號。
- 如申請專利範圍第16項之方法,其中該設定步驟包含下列步驟:回應該最後裝置信號,而將該輸出緩衝器之一輸入耦合到一靜態邏輯位準。
- 一種具有一裝置識別(ID)號碼而用來接收命令封包之記憶體裝置,包含:一資料流經路徑,用以在一輸入埠上接收該命令封包,並將該命令封包傳送到一輸出埠,該命令封包包含一操作碼(op code)、以及對應於為了執行該操作碼而選擇的一子集的裝置識別號碼之編碼資訊,該編碼資訊係藉由實施數學運算以邏輯地合併該子集的裝置識別號碼以產生一遮罩而被產生;一命令解譯器,該命令解譯器被選擇性地致能,以便將該操作碼解碼;以及一識別碼處理器,用以接收該編碼資訊,藉由實施數學運算於該遮罩及儲存於該記憶體裝置中之識別號碼,以決定該遮罩是否將儲存於該記憶體裝置中之該識別號碼編碼,且若該裝置識別號碼在該編碼資訊中被編碼,則將該編碼資訊解碼,以便將該命令解譯器致能。
- 如申請專利範圍第19項之記憶體裝置,其中該資料流經路徑包含:被耦合到該輸入埠之一輸入緩衝器,用以緩衝該命令封包;以及被耦合到該輸入緩衝器之一輸出緩衝器,用以接收該命令封包,並將該命令封包驅動到該輸出埠上。
- 如申請專利範圍第20項之記憶體裝置,其中該編碼資訊包含一遮罩碼及一目標識別號碼,該識別碼處理器包含一識別碼匹配解碼器,用以當該裝置識別號碼在該遮罩碼中被編碼時,在邏輯上合併該遮罩碼、該目標識別號碼、及該裝置識別號碼,以便提供一匹配信號。
- 如申請專利範圍第21項之記憶體裝置,其中該目標識別號碼是該子集的裝置識別號碼中之一裝置識別號碼。
- 如申請專利範圍第21項之記憶體裝置,其中該識別碼匹配解碼器包含:一比較器,用以將該裝置識別號碼之每一位元與該目標識別號碼之對應的位元比較,以便提供一編碼目標識別號碼;一加法器,用以將該遮罩碼之每一位元加到該編碼目標識別號碼之對應的位元,以便提供一經過修改的編碼目標識別號碼;以及一乘法器,當該經過修改的編碼目標識別號碼之所有位元處於一作用邏輯位準時提供該匹配信號。
- 如申請專利範圍第23項之記憶體裝置,其中該比較器包含“互斥反或”邏輯閘,每一“互斥反或”邏輯閘將該裝置識別號碼之一位元與該目標識別號碼之一對應的位元比較。
- 如申請專利範圍第23項之記憶體裝置,其中該加法器包含“或”邏輯閘,每一“或”邏輯閘將該遮罩碼之一位 元加到該編碼目標識別號碼之一對應的位元。
- 如申請專利範圍第23項之記憶體裝置,其中該乘法器包含一“及”邏輯電路,用以接收該經過修改的編碼目標識別號碼之所有位元。
- 如申請專利範圍第21項之記憶體裝置,其中該識別碼處理器包含一輸出禁止電路,用以禁止該命令封包被驅動到該輸出埠上。
- 如申請專利範圍第27項之記憶體裝置,其中該輸出禁止電路包含:一加法器,用以將該遮罩碼加到該目標識別號碼,以便提供該子集的裝置識別號碼中之一最後裝置識別號碼;以及一最後識別碼解碼器,用以將該裝置識別號碼與該最後裝置識別號碼比較,以及當該裝置識別號碼匹配該最後裝置識別號碼時提供一最後識別碼控制信號。
- 如申請專利範圍第28項之記憶體裝置,其中該輸出緩衝器回應該最後識別碼控制信號而被失能。
- 如申請專利範圍第28項之記憶體裝置,其中該資料流經路徑包含一選擇器,用以將該命令封包及一空值中之一者選擇性地傳送到該輸出緩衝器,該選擇器回應該最後識別碼控制信號而傳送該空值。
- 如申請專利範圍第30項之記憶體裝置,其中該空值對應於被耦合到該選擇器的一輸出資料暫存器中所儲存的一位元。
- 一種記憶體系統,包含:一記憶體控制器,用以發出一命令封包,該命令封包包含一操作碼(op code)、以及對應於為了執行該操作碼而被選擇的一子集的裝置識別(ID)號碼之編碼資訊,該編碼資訊係藉由實施數學運算以邏輯地合併該子集的裝置識別號碼以產生一遮罩而被產生;以及在一環狀拓撲中被串聯到該記憶體控制器之複數個記憶體裝置,該複數個記憶體裝置中之每一記憶體裝置具有一唯一裝置識別號碼,且接收該命令封包,藉由實施數學運算於該遮罩及該唯一裝置識別號碼將該編碼資訊解碼,以決定該遮罩是否將該唯一裝置識別號碼編碼,且若該唯一裝置識別號碼在該編碼資訊中被編碼則執行該操作碼。
- 如申請專利範圍第32項之記憶體系統,其中該複數個記憶體裝置中之每一記憶體裝置包含:一資料流經路徑,用以在一輸入埠上接收該命令封包,並將該命令封包傳送到一輸出埠;一命令解譯器,該命令解譯器被選擇性地致能,以便將該操作碼解碼;以及一識別碼處理器,用以接收該編碼資訊,且當該唯一裝置識別號碼在該編碼資訊中被編碼時,將該編碼資訊解碼,以便將該命令解譯器致能。
- 如申請專利範圍第33項之記憶體系統,其中該編碼資訊包含一遮罩碼及一目標識別號碼,該識別碼處理器包含一識別碼匹配解碼器,用以當該唯一裝置識別號碼在 該遮罩碼中被編碼時,在邏輯上合併該遮罩碼、該目標識別號碼、及該裝置識別號碼,以便提供一匹配信號。
- 如申請專利範圍第34項之記憶體系統,其中該識別碼處理器包含一輸出禁止電路,用以當該唯一裝置識別號碼匹配該子集的裝置識別號碼中之一最後裝置識別號碼時,禁止該命令封包被驅動到該輸出埠上。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/254,315 US8131913B2 (en) | 2008-02-04 | 2008-10-20 | Selective broadcasting of data in series connected devices |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201017414A TW201017414A (en) | 2010-05-01 |
TWI442236B true TWI442236B (zh) | 2014-06-21 |
Family
ID=44838221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98104050A TWI442236B (zh) | 2008-10-20 | 2009-02-09 | 串聯連接裝置之資料的選擇性廣播 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI442236B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013095575A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Broadcast operation on mask register |
-
2009
- 2009-02-09 TW TW98104050A patent/TWI442236B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW201017414A (en) | 2010-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2251872B1 (en) | Selective broadcasting of data in series connected devices | |
US11880569B2 (en) | Clock mode determination in a memory system | |
TWI476779B (zh) | 無關於在串列互連中的混合裝置類型而產生識別碼之系統、設備及方法 | |
JP5753989B2 (ja) | 複数のメモリデバイスを有するシステムの状態表示 | |
TWI442236B (zh) | 串聯連接裝置之資料的選擇性廣播 | |
WO2008067665A1 (en) | Apparatus and method for producing identifiers regardless of mixed device type in a serial interconnection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |