514777 五、發明説明(1 ) 本發明是有關於根據申請專利範圍第1項前言之方 法與根據申請專利範圍第9項前言之裝置。 資料是由記憶體控制器藉由預設之存取策略由半導 體讀出,.在矩陣形所形成的記憶體半導體中,此存取策 略(access strategy)例如藉由佈線(wiring)或固定程式化 暫存器(register)以此方式確定,使得在資料之寫入或 δ買取之後,此在記憶體之丫了中之存取線路保持驅動,並 且只有在此待處理的行交換之後,此存取線路才不再被 驅動,並且然後此新待讀取行之存取線路由電流流過。 因此,此記憶體控制器被固定於存取策略中。 本發明之目的在於提供一種彈性的方法與裝置用於 處理在記憶體中之所提供之資料。 本發明的目的是藉由具有申請專利範圍第1項特徵 的方法,以及藉由具有申請專利範圍第9項特徵之裝置 而達成。 本發明的優點在於,此在記憶體中資料之處理以第 二取決策略檢查,並且此存取策略使用於在記憶體中資 ,料之其他處理,以它資料可以改善,較佳更快的處理。 因此,此第二存取策略以即時(real time)方式模擬第 一存取策略,.並且以此方式獲.得第一與第二存取策略之 間準確的比較。 本發明其他有利的實施形式,是在申請專利範圍附 屬項中突顯。 在其他較佳的實施形式中此作爲逐漸認識的存取策 514777 五、發明説明(2 ) 略寫入於表格中,其中此在表格中所揭示之存取策略不 是使用於另外的比較。 較佳是在可預先確定的時點新的存取策略由記憶體 讀出並且作爲新的第二存取策略而測試,以此方式達 成,使得可以持續地調整最適之存取策略。 在較佳的實施形式中泵有第二控制裝置,其與記憶 體控制器連接,其控制在儲存器中之資料的處理。此第 二控制單元,根據第二存取策略而模擬記憶體中資料之 處理。藉由使用此第二控制單元使得能夠以有利的方式 即時(real time)地模擬第二存取策略。 本發明以下根據圖式作進一步說明。 圖式之簡單說明 第1圖是計算單元之槪要圖式結構。 第2圖是矩陣形記憶體之結構。 第3圖是本發明之方法過程。 第4圖是本發明之記憶體之列表。 第5圖是本發明之過程圖示。 第1圖顯不微處理器1,其經由第一界面2與記憶體 控制器3連接。此記憶體控制器3經由第二界面與矩陣 形記憶體5連接。此外設有控制單元6,其與第二界面 4連接。 此外,設有第二記憶體7,其與記億體控制器3以及 與控制單元6經由第一或第二資料線路1 6,1 7連接。 在弟一 §己i思體7中儲存著程式步驟’根據此等步驟 -4- 514777 五、發明説明(3 ) 此記憶體控制器3依據微處理器1之要求處理在記憶體 5中的資料。在記憶體5中的資料處理之下是理解爲, 資料之寫入、資料之讀取,資料之刪除,資料之複製、 即,在記憶體5中所有的資料處理。此外,在第二記憶 體7儲存其他的存取策略用於處理在記憶胞5中的資 料。 第2圖槪要圖式顯示記憶體5之結構,其具有行解 碼器8,列解碼器9與記憶體10,Π。此外,記憶體5 具有庫解碼器1 2,其與行解碼器8與列解碼器9經由 庫線路1 5連接。此行解碼器經由行線路1 3與第一以及 第二記憶體庫1 〇,Π連接。此列解碼器9是經由列線 路1 4與第一以及第二記憶庫1 0,1 1連接。此等記憶庫 10,11具有記憶胞,其各與行線路13與列線路14連 接。此外列解碼器9須以此方式形成,使得它驅動第一 與第二記憶庫1 〇,Π之各第一、第二、或第三列線路 1 4。藉由庫解碼器1 2而確定在那一個記憶庫中驅動 行線路1 3與列線路1 4。 此等記憶庫10,11例如形成作爲DRAM。DRAM是 以此突顯,即,它以列位址與行位址驅動。對於”存取’’ 而言,首先一列被’’開啓’’並且然後向外提供此所開啓列 之相對應之行。在列(亦稱爲頁)的開啓中,此整個的列 (因此所有所屬的行)被寫入於快速之SRAM中間記億體 (此所謂的感測放大器:S e n s e A m p s)中。在現代之記憶 體中,此存取在此開啓列(頁:page)之其他行中之較 五、發明説明(4 ) 快’因爲此列不再須被開啓(快速頁模式)。此取消了緩 慢之開啓。記憶庫是彼此獨立之記憶體矩陣,也就是 說’它在一個系統中產生多個記憶庫,因此在每一個記 憶庫中可以將任一頁(列)開啓,並且因此可以在η個記 憶庫中保持η個不同頁之開啓。 當微處理器須要記憶體的資料時,因此它經由其系 統匯流排要求實體(physical)位址。此位址在現代處理 器中作爲完整的位址(例如3 2位元之位址)而不被I合 (multiplexed)。此記億體控制器此時必須將此實體位址 在多工存取中在記憶體中轉換(成庫位址,列位址,行 位址),因此典型地在記憶體庫中一列被開啓,並且然 將所想要的行讀出。在具有已開啓庫的此庫中的其他存 取,產生兩個可能性: , 1 .此所須的位址是在此頁中(擊中此頁),因此取消此頁 漫長費時之開啓,並且此記憶體之存取非常的快。 2.此所須的位址是在另一頁中(未擊中此頁),於是首先 必須將此開啓錯誤的頁關閉(在DRAM中之預先充電 指令),然後將此所想要之正確的頁開啓(啓動指 令),然後將所須的行讀出(讀或寫指令)° 此第三個可能性會產生此可能,即,沒有頁被開啓 (關閉所擊中之頁),然後取消此預先充電指令(關閉此 頁)。此可能的存取策略在於’總是讓此最後被讀取之 頁保持開啓。另一個存取策略是’總是在每一個存取之 後將此頁關閉。人們可以進一步的取決於位址區域而得 514777 五、發明説明(5 ) 知,此頁是否已被關閉。 在以下說明第1圖與第2圖之配置之功能之槪要: 若此微處理器1處理一程式(一個任務:Task),因此 它須要記憶體控制器之多項資料。此記憶體控制器3在 程式之開始時例如由第二記憶體7獲得此存取策略,以 此策略將所須要的資料由記憶體5讀出。然後此記憶體 控制器3根據此由第二記憶體7預先設定之存取策略, 經由驅動相對應之行解碼器8,列解碼器9與庫解碼器 1 2,而由相對應的記憶胞獲得所須之資料。然後記憶體 控制器3將所讀取的資料,經由第一界面2發送給微處 理器1。應該將資料寫入記憶體5之記憶胞中,因此記 憶體控制器3將此由微處理器1所預先確定的資料寫入 記憶體5之相對應的記憶胞中。因此,不但在讀取而且 在寫入時,使用此由第二記憶體7所預先碇之存取策 略。 此控制單元6是連接至第一與第二界面2、4。控制 單元6以此方式監視記憶體控制器3與微處理器1與記 憶體5之資料交換。控制器單元6以此方式偵測此由記 憶體控制器3所執行之存取策略,並且同時偵測此記憶 體控制器3所須的時間,以便處理器在記憶體5中之資 料。控制單元6將此由記憶體控制器3用於執行由微處 理器1所預先設定之任務之所須時間,儲存於第二記憶 體7中。在第二記憶體7中還儲存其他的存取策略,此 等策略可以處理在記憶體5中的資料。此外,較佳將此 -7- 514777 五'發明説明(6 ) 用於不同的存取策略與不同程式(任務、Task)之用於處 理在記憶體5中的資料的時間,儲存於第二記憶體7 中。在一較佳的實施形式中,此控制裝置6(其完成 記憶體控制器3)模擬記憶體5中之資料處理,其具有 第二存取策略。此控制裝置6決定以第二存取策略處理 資料所須的時間,並且將它與由記憶體控制器3以第一 存取策略處理資料所須的時間比較。對於其他的資料處 理,此記憶體控制器3較佳使用較快的存取策略。 本發明之詳細之運作是根據第3圖之程序過程進一 步說明。在程序點1 0,此微處理器1給予記憶體控制 器3此任務,將資料由記憶體5的位址a讀出。此記憶 體控制器3在程序點20由第二記憶體7獲得用於預先 設定目的所確定的存取策略,其在以下稱爲第一存取策 略。然後此記憶體控制器3在任務處理期間在程序點 3 〇時,根據第一存取策略由記億體5得到資料。對於 此,記憶體控制器3將微處理器1的位址a轉換成實體 (physical)位址xl,yl。對此,行解碼器8,列解碼器 9與庫解碼器1 2在藉由第一存取策略所確定的方法與 方式驅動,根據存取策略此記憶體控制器3將一個位址 位置(其例如是32位元長的微控制器之位址),配置給 不同的庫位址,行位址或列位址(位址m a p p i n g)。然後 此記憶體控制器3在程序點40將位址X,y的資料經由 第一界面2發送給微處理器1。 此控制單元6在程序點2 0同時處理此微處理器所處 514777 五、發明説明(7 ) 理之任務。當此根據第二存取策略之任務由記憶體5讀 出時,在時間上與程序點2 0至4 0之處理同時,此控制 單元6計算出用於此任務所須的時間。此第二存取策略 是儲存在第二記憶體7中,並且被控制單元6由第二記 憶體7讀出。此控制單元6使用不同的策略將微處理器 1之位址a轉換,並且因此算出其在記憶體5中之位址 x2,y2。同時控制單元6算出此記憶體控制器3根據第 一存取策略而用於處理此由微處理器1所預先設定之任 務所須的時間。此所須的時間較佳藉由在記憶體5中多 次資料存取而算出。 在以下的程序點5 0中此控制單元6,將此由記憶體 控制器3用於任務處理所須的時間,與由控制單元6根 據第二存取策略所計算之用於任務處理的時間作比較。 若此在程序點50中的比較得出,此第二存取策略使得 能夠有較短的時間中完成任務之處理,因此在程序點 60中由控制單元6將第二存取策略儲存在第二程序記 憶體7中作爲存取策略,其在未來之記憶體控制器3之 相對應之任務處理中使用。比較緩慢的第一存取策略被 /諸存於第二程序記憶體7中之具有任務說明的除外表 (list)之中,在此記憶體中作存取策略之比較。 若在程序點5 0中產生此問題,此由微處理器1所預 先設定的任務,以第一存取策略可以比以第二存取策略 較快處理,因此此用於預設任務之預先規定之第一存取 策略儲存於第二程序記憶體7中保持不變。然後分路回 514777 五、發明説明(8 ) (branch b ac k)至程序丨 阽 10 〇 若 不 考 慮 速 度 還 可 以考 慮 其 他 的 特 性 像 是 例 如 電 流 消 耗 , 並 且 ^EB 擇 其 存取策 略 , 其 使 得 能 夠 作 關 於 所 考 慮 特 性 之 任 務 處 理 之 改 善 ° 本 發 明 之 實 施 例 是 以 資 料 讀 取 的 任 務 而 說 明 。然 而 微 處 理 器 1 還 可 以 預 設 有 其 他 的 任 務 , 像 是 例 如在 預 設 記 憶 體 位 址 上 的 資 料 寫 入 , 或 是 將 資 料 由 第 —* 記憶 體 位 址 拷 貝 複 製 於 第 二 記 憶 體 位 址 中 5 或 是 在 預 先 給定 之 記 憶 體 位 址 上 將 資 料 拭 除 〇 此 等 任 務 之 列 舉 在 此 沒有 窮 盡 並 且 可以 根 據 使 用 的 情 況 是 關 於 在記 憶 體 5中 的 任 何 作 業 0 此 儲 存 於 第 二 程 序 記 憶 體 7 中 之 存取 策 略 之 不同 在 於 在 每 —^ 次 將 資 料 由 記 憶 體 位 址 讀 出 之 後 此相 對 應 之 庫 線 路 1: 5與相對應的行線路 14 繼 續 保 持 電 流通 過 〇 此 列 線 路 開 啓 選 擇 式 電 晶 體 , 並 且 開 始 讀 取 所 儲存 的 資 訊 J 其 中 此 所 儲 存 的 資 訊 只 有在行 線 路 之 々B巳 进 擇 後才 可 取 用 Ο 另 外 的 存 取 策 略 例 如 是 , 在 將 資 料 由 記 憶 體位 址 5貝 出 之 後 y 此 相 對 應 之 庫 線 路 1 5, 相 i S 丨應 i之 •行 *線 [路與 f相 對 應 之 列 線 路 不 再 被 驅 動 〇 在 此 存取 策 略 中 當此 相 對 應 的 任 務 由 微 處 理 器 1 預 先 設 定時 , 此 行 線 路 ,列 線 路 與 庫 線 路 於 是首 先 再 度 被 啓 動 〇 反 之 5 此 第 — 存取 策 略 具 有 其 優 點 在 相 同 的 庫 位 址 中 與 相 同 的 列 位 址中 1 只 有 相 對 應 的 行 線 路 必 須 被 啓 動 (a c t i vate), 以 便 可以 將 資 料 讀 出 0 然 而 本 身 應 該 返 要 將 庫 位 址 與 列 位 址改 變 因 此 首 先 必 須 將 截 至 a 刖 爲 止 之 庫 線 路 與 截 至 目前 爲 止 10·
514777 五、發明説明(9 ) 之列線路予以斷路(off),並且驅動新的庫線路與列線 路。因此,此等不同的存取策略在記憶體5之記憶胞中 相繼連續的存取中,根據其特性與方式,而具有其優點 與缺點。如果例如將資料主要是以相同的庫位址與相同 的列位址寫入或讀出,因此第一種存取策略較快。然而 如果此等相繼連續的資料經常以不同之庫位址或列位址 寫入或讀出,因此第二存取策略較快。在基本上存取策 略的速度藉由多個存取而算出,並且因此代表速度之統 計手段,微處理器1以此策略由記憶體控制器3獲得資 料。 本發明之基本核心在於此由記憶體控制器3所使用 的存取策略適應於由微處理器1預先設定給記憶體控制 器3之特性與目的。以此方式可以將存取策略在其所執 行的目的上最適化。因此將在記憶體5中的資料處理以 及在微處理器1中任務的處理整個的改善。 作爲另外的存取策略可以例如在記憶體中採用不同 資料之配置。此微處理器1指定記憶體位址,其由列解 碼器與行解碼器轉換成實體之記憶體位址。根據使用情 況它可以具有優點,此由微處理器1所經常彼此預先設 定之記憶體位.址,是實體地配置於列線路上。此顯示其 優點,在彼此相繼連續的資料的詢問中,此行線路可以 保持驅動,並且只有列線路必須改變。因此資料可以較 快的讀出。 可以有多個存取策略,其由專家以相對應的方式選 -11- 514777 五、發明説明(10 ) 出。 第4圖顯示第1,第2與第3表18,19,20,其儲 存於第2程序記憶體7中。在此第一 1 8中配置存取策 略之不同任務。此記憶體控制器3例如必須處理任務 1,因此它被提供策略A作爲存取策略。此記憶體控制 器3必須處理任務2,因此它被提供策略C作爲存取策 略。如同以上所說明,此任務對於存取策略的配置可以 藉由控制單元的6而改變。以此方式可以持續地調整最 適之存取策略。 在第2表19中儲存著不同的存取策略A、B、C等, 由此表此控制單元6選擇出存取策略,以便進行比較計 算以決定用於處理預設任務所須之時間與電流需求。 在較佳的實施形式中,此控制單元6在預先所設定 的時點中,以統計的方式取得此在第二表1 9中所儲存 的策略並且與微處理器1所預先設定之任務,同時根據 所選擇的存取策略,而算出用於任務處理的時間或電流 須求。 在本發明較佳的實施形式中對於每一個由微處理器1 所預先設定任務之第3表20是儲存於第二程序記憶體 7之中,在此記憶體中儲存著存取策略,控制單元6已 經認爲此存取策略對於某項任務不適合。此第三表20 是描述一種除外表,其具有優點,此控制單元6不總是 檢查第二表1 9所有可能的存取策略,而是只檢查用於 此預先設定任務之第二表I 9之存取策略,其在第三表 -12- 514777 五、發明説明(Π ) 20中沒有儲存相對應的任務,以此方式使得能夠有效 率地選擇最適的存取策略。 此控制單元6之比較計算較佳是在即時(read time)中 與任務之處理同時藉由記憶體控制器3實施。在一較佳 實施例中,一個由控制單元6算出作爲較佳存取策略之 存取策略,只有在新的系統開始或程序開始由記憶體控 制器3使用。 本發明以例子說明,其中檢查存取策略之速率。然 而存在策略之比較還可以在其他的答案中實施,例如此 存取策略可以被挑選作爲較佳者,在其中記憶體5產生 較少的發熱與較少的電流須求。 在一較佳形式中此控制單元6只連接至第一界面2 並且偵測其任務,其預先設定而由記憶體控制器3處 理。此控制單元6計算此記憶體控制器3用於處理任務 所須的時間。此外,控制單元6在已知的處理時間中計 算以另一種存取策略以執行此任務所須的時間。在另外 的發展中此控制單元6模擬(simulate)以另一種存取策 略處理任務所須的時間。 當監視任務之處理時,此控制單元6在較佳的實施 形式中,以所選擇之存取策略處理任務,即,此控制單 元6處理在記憶體5中的資料及/或以庫解碼器、行解 碼器與列解碼器1 2、1 3、1 4驅動,將此由微處理器所 預先設定之位址轉換成實體位址。同時此控制單元6計 算此用於處理任務所須的時間。然後此控制單元6比較 -13- 514777 五、發明説明(〗2 ) 此記憶體控制器3以第一存取策略處理任務所須的時 間,與控制單元6以所選擇之存取策略處理任務所須的 時間。 在第5圖中說明一實施例,因此使用以下之縮寫: ACT用於開啓在DRAM中記憶體之指令(activate :啓 動) RAP讀取資料之指令具有緊接著自動將被讀取之記憶 庫關閉之功能(Read Auto Precharge :讀取然後自 動預先充電) WAP寫入資料之指令具有緊接著自動將被寫入記憶庫 關閉之功能(Write Auto Precharge :寫入然後自動 預先充電) tRCD延遲時間,其必須介於ACT指令與RAP指令之 間,或是介於ACT指令與WAP指令之間 CL在發出RAP指令與收到由DRAM讀取資料之間所經 歷的時間 BL 以唯一的讀或寫指令所傳送資料字元的總數(集叢 之長度:BurstLength) tRP將記憶庫關閉所須之時間(列預先充電:Row P r e c h a r g e) tDQSS在發出WAP指令與發出應被寫入於DRAM中資 料之間所經歷的時間 tWR將此應被寫入之DRAM之資料,由界面傳送至記 憶胞陣列所經歷之時間(寫入回復·· W r i t e R e c 〇 u e r y) -14- 514777 五、發明説明() tDAL =tWR + tRP :將此應被寫入之DRAM之資料由界 面傳送至記憶胞陣列中,然後將此被寫入之記憶庫 關閉所經歷之時間 tRRL = tRCD + CL :介於發出ACT指令與接收到資料之 間所經歷的時間(R a n d 0 m R e a d L a t e n c y :潛在的隨 機寫入) tRC = tRCD + CL + tRP :處理整個讀取循環所須之時間 (Read Cycle :讀取循環) tRWL = tRCD + tDQSS :介於發出ACT指令與發出資料 給DRAM之間所經歷的時間(Rardom Write Latency :潛在的隨機寫入) tWC 二 tRCD + tDQSS + BL/2 + tDAL :處理整個寫入循環 所須之時間(Write Cycle :寫入循環) 實施例之說明 以下的存取策略(a c c e s s s t r a t e g y)是在記憶體控制器 之’’被動式模仿器’’中,即,在控制單元6中模仿:首先 模仿以下之任務: ”讀取與寫入,然後在沒有指令及/或交錯重疊記憶庫 體之情況下將此被讀取或寫入之記憶庫自動關閉” (Read/Write with Auto-Precharge,no command and/ or Bank interleaving) 〇 此所屬之過程(其用於將資料讀取或寫入記憶體所必 須),是在用於所謂的 DDR-DRAMs(Double-Data-Rate DRAMs :力□倍資料速率DRAMs)之典型的所附圖式中說 -15- 514777 五、發明説明(μ ) 明。 讀取:記憶體控制器收到讀取之請求,因此須要以下之 各個步驟: 1 ·由此應被讀取之dram中,開啓某個記憶庫中的某個 位置。 2·發出讀取指令,其具有此應被讀取記憶胞陣列之行位 址。 3. 等候某段時間,一直至資料可由DRAM被讀入於控制 器中爲止。 4. 等候某段時間,一直至此由DRAM至控制器中的資料 傳送結束爲止。 5 .再等候某段時間,一直到此被讀取之DRAM中的記憶 庫再度關閉爲止。 寫入:記憶體控制器收到寫入之請求,因此須要以下之 各個步驟: 1 .由此應被寫入之DRAM中,開啓某個記憶庫中的某個 位置。 2 ·發出寫入指令,其具有此應被寫入之記憶胞陣列之行 位址。
3 ·等候某段時間,一直到資料可由控制器發送至DRAM 爲止。 4.再等候某段時間,一直到至DRAM的資料傳送結束爲 止。 5·再等候某段時間,一直到資料由DRAM之界面傳送至 -16- 五、發明説明() DRAM胞陣列中爲止。 6.再等候某段時間,一直到此DRAM中被寫入之記憶庫 再度關閉爲止。 以在此所描述之存取策略,此控制單元6因此是處 於此情況以模仿或計算各個讀取或寫入請求所持續的時 間。其中在此意味著,簡單的存取策略不是絕對的必 要,此讀取與寫入存取實際上可以硬體的方式模仿。此 控制單元6還可以採用以下簡單的時間: 1·潛在的(Latency)隨機讀取是tRRL。 2. 完整的讀取周期(cycle)持續tRC。 3. 潛在的(Latency)隨機寫入是tWRL。 4. 完整 m^^m^cyc\e)Wm'Twc~〇 一 當然可以理解的,所有較在此所說明大約更複雜的 存取策略,不再可簡單地以四個參數(tRRL、tRC、 tRWL、tWC)所說明。用於更複雜之存取策略的例子是 例如: -此記憶庫在每一個讀取或寫入存取之後不立刻關 閉,而是藉助於某種在此未進一步說明的算法 (A 1 g 〇 r i t h m)對於某個期間保持開啓(記憶庫之重疊)。 -此等指令(其涉及不同的記憶庫)可以彼此重疊,因此 可以不需要等候tRC或tWC —直至另一個存取循環 開啓爲止(指令之重疊)。 , 因爲此關於記憶庫與指令重疊的組合幾乎可以被 配置成任何複雜的形式’而有利的是此電路區塊 •17- 514777 五、發明説明(〗6 ) (block)(以它可以執行記憶體實際的存取),是在控制單 元6之第二實施例中供使用。此控制單元6於是可以模 擬其他的存取策略,其然後與記憶體控制器3之性能表 現値相比較。 然而還可以實施另外的或新的存取策略,其然後可 以與記憶體控制器3的存取策略比較。 在模擬的觀念下是被理解爲,以軟體模擬硬體之功 能。在所說明的實施例中,此等硬體元件(其使用於將 資料及/或讀取於DRAM記憶體中)以軟體的方式模 擬。以此方式可以實際地模擬(s i m u 1 a t e) D R A Μ記憶體 之功能。 符號之說明 1……微處理器 2…….界面 3……記憶體控制器 4......界面 5……記憶體 6……控制單元 7……記憶體 8……行解碼器 9……列解碼器 10.....記憶庫 11.. ...記憶庫 12.. ...庫解碼器 -18- 514777 五、發明説明(17 ) 13 .....行解碼器 14.. ...列解碼器 15……庫線路 18.. ...第一表 19……第二表 20.....第三表 -19-