TWI518703B - 提供多埠功能的記憶體裝置與方法 - Google Patents

提供多埠功能的記憶體裝置與方法 Download PDF

Info

Publication number
TWI518703B
TWI518703B TW103111288A TW103111288A TWI518703B TW I518703 B TWI518703 B TW I518703B TW 103111288 A TW103111288 A TW 103111288A TW 103111288 A TW103111288 A TW 103111288A TW I518703 B TWI518703 B TW I518703B
Authority
TW
Taiwan
Prior art keywords
memory
read
operating frequency
data
synchronized
Prior art date
Application number
TW103111288A
Other languages
English (en)
Other versions
TW201447910A (zh
Inventor
張志宇
呂委整
詹富強
Original Assignee
財團法人工業技術研究院
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Publication of TW201447910A publication Critical patent/TW201447910A/zh
Application granted granted Critical
Publication of TWI518703B publication Critical patent/TWI518703B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Static Random-Access Memory (AREA)
  • Dram (AREA)

Description

提供多埠功能的記憶體裝置與方法
本揭露係關於一種提供多埠(multi-port)功能的記憶體裝置(memory device)和方法。
在數位電路的設計中,記憶體經常被使用於,但不限定於,資料緩衝等,以成為在不同的計算模組之間的資料傳輸的臨時媒介(temporary media)等。在一即時運作系統中的同一記憶體週期(memory cycle)的期間,一模組可以將資料寫入至一記憶體的一位址,另一模組可以從此記憶體中另一位址讀出資料。在此情況下,必須提供在同一時間能夠從記此憶體讀取資料以及將資料寫入至此記憶體的功能。一般而言,可以使用一個多埠記憶體,例如使用一兩埠(two-port)記憶體來執行此功能。一兩埠記憶體的結構具有兩個輸入埠,此兩輸入埠可以同時輸入讀取和寫入運作所需要的相關的訊號。設計者只需要適當地控制讀取和寫入控制訊號,並且應用這些控制訊號至該兩埠記憶體,則同時將資料儲存至此記憶體與從此記憶體讀取資 料就可以容易地實現。例如,在寫入埠(write port),一寫入致能(write enable)訊號可以伴隨一寫入地址(write address)訊號和一寫入資料(write data)訊號。當此寫入致能訊號是在邏輯高(logic high)時,此兩埠記憶體可以將此寫入資料寫入至一相對位置(relative position)。在讀取埠(read port),一讀取致能(read enable)訊號可以伴隨一讀取地址(read address)訊號。當此讀取致能訊號是在邏輯高時,此兩埠記憶體可以在下一時鐘週期(clock cycle)讀取一地址中的資料。
此兩埠記憶體可以在一時鐘週期內同時執行一記憶體寫入動作(memory write operation)和一記憶體讀取動作(memory read operation)。而單埠記憶體在一時鐘週期內只可以執行一記憶體讀取或寫入(memory read or memory write)動作。當在一專用集成電路(Application Specific Integrated Circuits,ASIC)已下線(tape out)時,若記憶體的容量又太大,可提供多埠功能的一單埠(single port)記憶體裝置將是解決此問題的多種方法的其中一種方法。
本揭露的實施例可提供一種提供多埠功能的記憶體裝置和方法。
本揭露的一實施例是關於一種提供多埠功能的記憶體裝 置,此記憶體裝置可包含一單埠記憶體、至少一讀取同步模組(read synchronization module)、至少一寫入同步模組(write synchronization module)、一讀取/寫入訊號選擇器(read/write signal selector)、以及一讀取資料同步模組(read out data synchronization module)。此單埠記憶體具有一第一操作頻率(operating frequency),此第一操作頻率是一多埠記憶體的一第二操作頻率的兩倍或大於兩倍以上。此讀取同步模組將一組讀取訊號從此第二操作頻率同步至此第一操作頻率。此寫入同步模組將一組寫入訊號從此第二操作頻率同步至此第一操作頻率。此讀取/寫入訊號選擇器將一組同步的讀取訊號(synchronized read signals)和一組同步的寫入訊號(synchronized write signals)積集成(integrate into)此單埠記憶體的一組輸入控制訊號(input control signals)。此讀取資料同步模組被配置為將此單埠記憶體的一組讀取資料(read data)從此第一操作頻率同步至此多埠記憶體的此第二操作頻率。
本揭露的另一實施例是關於一種提供多埠功能的記憶體的方法。此方法可包含:提供具有一第一操作頻率的一單埠記憶體,此第一操作頻率是一多埠記憶體的一第二操作頻率的兩倍或大於兩倍以上;將一組讀取訊號從此第二操作頻率同步至此第一操作頻率,並且將一組寫入訊號從此第二操作頻率同步至此第一操作頻率;將一組同步的讀取訊號和一組同步的寫入訊號積集成此單埠記憶體的一組輸入控制訊號;以及將此單埠 記憶體的一組讀取資料從此第一操作頻率同步至此多埠記憶體的此第二操作頻率。
茲配合下列圖示、實施例之詳細說明及申請專利範圍,將上述及本發明之其他優點詳述於後。
100‧‧‧記憶體裝置
101‧‧‧單埠記憶體
103‧‧‧讀取同步模組
105‧‧‧寫入同步模組
107‧‧‧讀取/寫入訊號選擇器
109‧‧‧讀取資料同步模組
111‧‧‧讀取資料
113‧‧‧讀取訊號
115‧‧‧寫入訊號
117‧‧‧輸入控制訊號
123‧‧‧同步的讀取訊號
125‧‧‧同步的寫入訊號
Write_signal_1x‧‧‧寫入埠上的每一控制訊號
Wr_en‧‧‧寫入致能訊號
Wr_addr‧‧‧寫入位址訊號
Wr_data‧‧‧寫入資料訊號
Read_signal_1x‧‧‧讀取埠上的每一控制訊號
Rd_en‧‧‧讀取致能訊號
Rd_addr‧‧‧讀取位址訊號
CLK_1x‧‧‧兩埠記憶體的操作頻率
CLK_2x‧‧‧單埠記憶體的操作頻率
SYNC_R1‧‧‧讀取同步模組
SYNC_W1‧‧‧寫入同步模組
Read_signal_2x‧‧‧讀取的輸入控制訊號
Write_signal_2x‧‧‧寫入的輸入控制訊號
RSig0~RSig4‧‧‧讀取輸入控制訊號
401‧‧‧同步模組選擇器
405‧‧‧讀取資料選擇器
Data0_2x~Data(N-1)_2x‧‧‧一組讀取資料
Data0_1x~Data(N-1)_1x‧‧‧一組同步的讀取資料
CLK_1x Read out data‧‧‧與多埠記憶體的資料格式一致的一組輸出資料
710‧‧‧提供具有一第一操作頻率的一單埠記憶體,其中此第一操作頻率是一多埠記憶體的一第二操作頻率的兩倍或大於兩倍以上
720‧‧‧一組讀取訊號從此第二操作頻率被同步至此第一操作頻率,並且一組寫入訊號從此第二操作頻率被同步至此第一操作頻率
730‧‧‧一組同步的讀取訊號和一組同步的寫入訊號被積集成此單埠記憶體的一組輸入控制訊號
740‧‧‧此單埠記憶體的一組讀取資料從此第一操作頻率被同步至此多埠記憶體的第二操作頻率
CLK_4x‧‧‧單埠記憶體的操作頻率
Read_signal1_1x、Read_signal2_1x‧‧‧讀取埠的輸入控制訊號
Write_signal1_1x、Write_signal2_1x‧‧‧寫入埠的輸入控制訊號
1p_input_signal_4x‧‧‧輸入控制訊號
Read_out_data_4x‧‧‧讀取資料
Rd1_out_1x‧‧‧對應於Read_signal1_1x的讀取資料
Rd2_out_1x‧‧‧對應於Read_signal2_1x的讀取資料
Wsig1_0~Wsig1_4‧‧‧對於Write_signal1_1x的一輸入序列
Wsig2_0~Wsig2_4‧‧‧對於Write_signal2_1x的一輸入序列
Rsig1_0~Rsig1_4‧‧‧對於Read_signal1_1x的一輸入序列
Rsig2_0~Rsig2_4‧‧‧對於Read_signal2_1x的一輸入序列
Write_signal1_4x、Write_signal2_4x、Read_signal1_4x、以及 Read_signal2_4x‧‧‧四個同步的控制訊號
1p_input_signal_4x‧‧‧單埠記憶體的一控制訊號
Data1_0~Data1_(N-1)‧‧‧第一組讀取資料
Data2_0~Data2_(N-1)‧‧‧第二組讀取資料
Data1_0_1x~Data1_(N-1)_1x‧‧‧第一組同步的資料
Data2_0_1x~Data2_(N-1)_1x‧‧‧第二組同步的資料
CLK_3x‧‧‧單埠記憶體的操作頻率
Write_signal1_3x、Write_signal2_3x、Read_signal1_3x‧‧‧三個同步的控制訊號
1p_input_signal_3x‧‧‧輸入控制訊號
Read_out_data_3x‧‧‧讀取資料
Data0_3x~Data(N-1)_3x‧‧‧一組讀取資料
Data0_1x、Data1_1x、…、Data1(N-1)_1x‧‧‧一組同步的資料
第一圖是根據本揭露的一實施例,說明一種提供多埠功能的記憶體裝置。
第二圖是根據本揭露的一實施例,說明一單埠記憶體的操作頻率是一兩埠記憶體的操作頻率的兩倍。
第三圖是根據本揭露的一實施例,說明第二圖中記憶體裝置的各種訊號的時序關係。
第四圖是根據本揭露的一實施例,說明讀取資料同步模組的細部結構。
第五圖是根據本揭露的一實施例,說明讀取資料同步模組的一範例,其中單埠記憶體的操作頻率是一兩埠記憶體的操作頻率的兩倍。
第六圖是根據本揭露的一實施例,說明第五圖之讀取資料同步模組中各種訊號的時序關係。
第七圖是根據本揭露的一實施例,說明一種提供多埠功能的記憶體的方法。
第八圖是根據本揭露的一實施例,說明一種從四埠至單埠的結 構。
第九圖是根據本揭露的一實施例,說明第八圖之四埠至單埠的結構中,各種訊號的時序關係。
第十圖是根據本揭露的一實施例,說明從單埠至四埠之讀取資料同步模組的替換與修改。
第十一圖是根據本揭露的一實施例,說明第十圖中從單埠至四埠之讀取資料同步模組的時序關係。
第十二圖是根據本揭露的一實施例,說明一種從三埠至單埠的結構。
第十三圖是根據本揭露的一實施例,說明第十二圖中從三埠至單埠的結構的各種訊號的時序關係。
第十四圖是根據本揭露的一實施例,說明從單埠至三埠的讀取資料同步模組的替換與修改。
第十五圖是根據本揭露的一實施例,說明第十四圖中從單埠至三埠的讀取資料同步模組的時序關係。
以下,參考伴隨的圖示,詳細說明依據本揭露的實施例,俾使本領域者易於瞭解。所述之發明創意可以採用多種變化的實施方式,當不能只限定於這些實施例。本揭露省略已熟知部分(well-known part)的描述,並且相同的參考號於本揭露中代表相同的元件。
依據本揭露的實施例提供一種技術,藉由使用一單埠記憶體的架構來建構可提供具有一多埠記憶體之功能的結構。此多埠記憶體在一時鐘週期內可以同時將資料寫入一記憶體以及從此記憶體讀取資料,而一典型的單埠記憶體在一時鐘週期內只可以將資料寫入記憶體或是從記憶體讀取資料。為了使用一單埠記憶體來建構可提供此多埠記憶體之功能的結構,依據本揭露的實施例可執行輸入與輸出訊號的轉換,以符合此多埠記憶體和此單埠記憶體。所以,這些實施例揭露將此多埠記憶體的輸入訊號轉換為此單埠記憶體的輸入訊號的架構,並且將此單埠記憶體的讀取訊號轉換為此多埠記憶體輸出訊號。
第一圖是根據本揭露的一實施例,說明一種提供多埠功能的記憶體裝置。參考第一圖,此記憶體裝置100可包含一單埠記憶體101、至少一讀取同步模組103、至少一寫入同步模組105、一讀取/寫入訊號選擇器107、以及一讀取資料同步模組109。單埠記憶體101具有一第一操作頻率,此第一操作頻率可以是一多埠記憶體的一第二操作頻率的兩倍或大於兩倍以上。至少一讀取同步模組103將一組讀取訊號113從此第二操作頻率同步至此第一操作頻率。至少一寫入同步模組105將一組寫入訊號115從此第二操作頻率同步至此第一操作頻率。讀取/寫入訊號選擇器107將一組同步的讀取訊號123和一組同步的寫入訊號125積集成單埠記憶體101的一組輸入控制訊號117。讀取資料同步模組109被配置為將單埠記憶體101的一 組讀取資料111從此第一操作頻率同步至此多埠記憶體的此第二操作頻率,從而產生此多埠記憶體的一組讀取資料。
一單埠記憶體的輸入控制訊號可包括一讀取/寫入致能訊號、一讀取/寫入位址訊號、以及一寫入資料訊號。此單埠記憶體的輸出訊號可包括一讀取資料。當此讀取/寫入致能訊號Wr_en是在邏輯高時,這可指示一記憶體寫入動作被執行並且寫入資料被寫入至記憶體位址。當此讀取/寫入致能訊號在邏輯低時,可指示一記憶體讀取動作被執行,並且此記憶體在下一時鐘週期的期間從一記憶體位址讀取資料。
根據本揭露的實施例,該組同步的讀取訊號123和該組同步的寫入訊號125被分佈在單埠記憶體101的時鐘域(clock domain)的不同時鐘週期。該組同步的讀取訊號123和該組同步的寫入訊號125在時鐘域的分佈順序可由使用記憶體裝置100的系統來決定。單埠記憶體101的第一操作頻率可以是一多埠記憶體的該第二操作頻率的k倍或k倍以上,其中k是一正實數,並且k≧2。
第二圖是根據本揭露的一實施例,說明一單埠記憶體的操作頻率CLK_2x是一兩埠記憶體的操作頻率CLK_1x的兩倍。換句話說,操作頻率CLK_1x係用於使用第一圖的記憶體裝置的系統中。第三圖是與本揭露的一實施例一致的一時序圖,說 明提供給第二圖中的記憶體裝置的各種訊號的時序關係(timing relationship)。
數位電路設計中的一兩埠記憶體可具有一專屬的(dedicated)讀取埠用來輸入一組讀取控制訊號和輸出一資料訊號,以及一專屬的寫入埠用來輸入一組寫入控制訊號。在寫入埠上的每一控制訊號,以Write_signal_1x表示,可包括一寫入致能訊號Wr_en、一寫入位址訊號Wr_addr、以及一寫入資料訊號Wr_data。在讀取埠上的每一控制訊號,以Read_signal_1x表示,可包括一讀取致能訊號Rd_en與一讀取位址訊號Rd_addr,並且有一輸出訊號Rd_data用於從此記憶體讀取資料。
參考第二圖和第三圖,此兩埠記憶體的操作頻率CLK_1x中,讀取輸入控制訊號如RSig0~RSig4,與寫入輸入控制訊號如WSig0~WSig4,分別經由兩同步模組(讀取同步模組SYNC_R1與寫入同步模組SYNC_W1),同步至單埠記憶體的操作頻率CLK_2x。經由此兩同步模組,讀取與寫入的輸入控制訊號分佈在此單埠記憶體的時鐘域的不同時鐘週期,如第三圖中的Write_signal_2x與Read_signal_2x所示。此兩組同步的輸入控制訊號Write_signal_2x與Read_signal_2x還經由讀取/寫入訊號選擇器107集成,從而產生分佈在單埠記憶體101的時鐘域的不同時鐘週期的一組輸入控制訊號 1p_input_signal_2x,如第三圖所示。此組輸入控制訊號1p_input_signal_2x可以控制對單埠記憶體101的存取,從而輸出讀取資料,標記為Read_out_data_2x。這些讀取資料Read_out_data_2x還被轉換至兩埠記憶體的操作頻率CLK_1x,以利於在系統中運作。換句話說,此單埠記憶體的讀取資料Read_out_data_2x被轉換回至原先系統的操作頻率CLK_1x,以利於在原先系統中運作。
第四圖是根據本揭露一實施例,說明讀取資料同步模組的細部結構。參考第四圖,讀取資料同步模組109還可包括一同步模組選擇器401、一組同步模組,記為同步模組SYNC1,…,同步模組SYNCN,N≧2,以及一讀取資料選擇器405。同步模組選擇器401控制單埠的記憶體101中的每一組讀取資料,如一組讀取資料Data0_2x~Data(N-1)_2x,應使用此組同步模組中哪一個同步模組。此組同步模組可將單埠記憶體101的該組讀取資料如Data0_2x~Data(N-1)_2x,從第一操作頻率同步至原先系統的操作頻率,以利於在原先系統中運作。讀取資料選擇器405可以將來自該組同步模組的同步的讀取資料如Data0_1x~Data(N-1)_1x,積集成與多埠記憶體的資料格式一致的一組輸出資料CLK_1x Read out data。
因為更快頻率的訊號會同步至一較低的頻率,所以它需要經過數個頻率為CLK_1x的時鐘時間才能使該組讀出資料111 的同步達到一穩定的狀態。當多埠記憶體的讀取控制訊號持續致能一段很長的時間時,只使用一同步模組將會導致一些資料的丟失。因此,對於從單埠記憶體中讀取資料,於本揭露的一實施例中,可先計算從原先單埠記憶體的操作頻率CLK_SP同步至CLK_1x所造成的一最大時間延遲。因為具單埠記憶體的操作頻率CLK_SP的每一讀取訊號針對系統操作頻率CLK_1x可能會有一不同的相位,因此,於本揭露的一實施例中,可根據單埠記憶體的操作頻率CLK_SP以及每一讀取資料,計算一最大同步時鐘延遲(synchronize clock latency,亦即M×CLK_1x)並且做為該最大時間延遲,其中同步模組的個數N大於或等於M。M是從該第一操作頻率同步至系統的操作頻率所造成的一最大時間延遲的時鐘週期的數量。
有此N個同步模組,N≧M,單埠記憶體的輸出資料可選擇不同的同步模組來進行同步。如此可避免資料丟失的問題。對於同步過程中的每一讀取資料,也可使用一計數器做為一控制指示器(control indicator),指出此N個同步模組中的一相對應的同步模組。根據此控制指示器,來自此單埠記憶體的輸出資料可以藉由同步模組選擇器401選擇一相對應的同步模組來同步資料。在實施例中有N個同步模組。每一同步模組可以在不同的時間啟動。於一實施例中,可由同步模組選擇器401決定哪一同步模組被選取,以及何時啟動所選取的同步模組。
舉例來說,當單埠記憶體輸出第一筆讀取資料時,致能第一同步模組如同步模組SYNC1,當單埠記憶體輸出第二筆讀取資料時,致能第二同步模組如同步模組SYNC2,…,當單埠記憶體輸出第N筆讀取資料時,致能第N同步模組如同步模組SYNCN,當單埠記憶體輸出第(N+1)筆讀取資料時,致能第一同步模組如同步模組SYNC1,當單埠記憶體輸出第(N+2)筆讀取資料時,致能第二同步模組如同步模組SYNC2,…,等。換句話說,對於來自單埠記憶體的每一讀取資料,同步模組選擇器401輪流致能該N個同步模組中的一個不同的同步模組。
第五圖是根據本揭露的一實施例,說明讀取資料同步模組的一範例,其中單埠記憶體的操作頻率是一兩埠記憶體的操作頻率的兩倍。如第五圖所示,同步模組選擇器401控制單埠記憶體101的每一讀取資料Read_out_data_2x應使用哪一個同步模組。在一範例中,讀取資料Data0_2x使用同步模組SYNC1,讀取資料Data1_2x使用同步模組SYNC2,讀取資料Data2_2x使用同步模組SYNC3,...,讀取資料Data N-1_2x使用模組同步SYNCN。從操作頻率CLK_2x同步至操作頻率CLK_1x後,每一讀取資料Datak_2x被轉換成資料Datak_1x,0≦k≦N-1。讀取資料選擇器405然後將來自此N個同步模組,即同步模組SYNC1~同步模組SYNCN,的這些同步的讀取資料,即 Data0_1x~DataN-1_1x,被積集成一組輸出資料(亦即CLK_1x讀取資料),這些CLK_1x讀取資料的資料格式與該兩埠記憶體的資料格式一致。
第六圖是根據本揭露的一實施例,說明第五圖之讀取資料同步模組中各種訊號的時序關係。在第六圖中,假設同步模組的個數N等於3,此表示有三個同步模組,即同步模組SYNC1~同步模組SYNC3,用於同步單埠記憶體的輸出資料。同步模組選擇器401控制來自單埠記憶體的每一筆讀取資料Read_out_data_2x,例如有六筆讀取資料Data0_2x~Data5_2x,應使用哪一個同步模組。在本範例中,讀取資料Data0_2x使用同步模組SYNC1,讀取資料Data1_2x使用同步模組SYNC2,讀取資料Data2_2x使用同步模組SYNC3,讀取資料Data3_2x使用同步模組SYNC1,讀取資料Data4_2x使用同步模組SYNC2,以及讀取資料Data5_2x使用同步模組SYNC3。這些讀取資料從操作頻率CLK_2x同步至操作頻率CLK_1x後,利用同步模組SYNC1~同步模組SYNC3,每一讀取資料Datak_2x被轉換成為同步的讀取資料Datak_1x,0≦k≦5。這些來自同步模組SYNC1~同步模組SYNC3的同步的讀取資料,即Data0_1x~Data5_1x,被積集成一組輸出資料(即CLK_1x讀取資料)。
第七圖是根據本揭露的一實施例,說明一種提供多埠功能 的記憶體的方法。在步驟710中,提供具有一第一操作頻率的一單埠記憶體,其中此第一操作頻率是一多埠記憶體的一第二操作頻率的兩倍或大於兩倍以上。在步驟720中,一組讀取訊號從此第二操作頻率被同步至此第一操作頻率,並且一組寫入訊號從此第二操作頻率被同步至此第一操作頻率。在步驟730中,一組同步的讀取訊號和一組同步的寫入訊號被積集成此單埠記憶體的一組輸入控制訊號。在步驟740中,此單埠記憶體的一組讀取資料從此第一操作頻率被同步至此多埠記憶體的第二操作頻率。
如前面提及的,單埠記憶體的第一操作頻率至少可以是多埠記憶體的第二操作頻率的k倍,其中k是一個正實數,且k≧2。並且,該組同步的讀取訊號和該組同步的寫入訊號分佈在單埠記憶體之時鐘域的不同時鐘週期。對於該組同步的讀取訊號和該組同步的寫入訊號,時鐘域裡的分佈順序可由使用該記憶體裝置的系統來決定。
以下舉出多個例子來說明從多埠至單埠的各種架構,以及這些架構對應的時序圖來描述從多埠至單埠的架構的各種訊號的時序關係。並且,更多例子說明從多埠至單埠的讀取資料同步模組的各種替換和修改,以及此讀取資料同步模組相對應的時序圖,以描述提供此讀取資料同步模組的各種替換和修改的各種訊號的時序關係。
第八圖是根據本揭露的一實施例,說明一種從四埠至單埠的結構。此處只比較第八圖的實施例與第二圖的細節的不同。類似的組件(即使不同運作)以類似的參考號碼顯示與說明。在第八圖中,假設此四埠中有兩個埠是用來讀取訊號並且另外兩個埠是用來寫入訊號。此單埠記憶體的操作頻率CLK_4x是一系統操作頻率CLK_1x的四倍。Read_signal1_1x和Read_signal2_1x是兩讀取埠的兩個輸入控制訊號,並且Write_signal1_1x和Write_signal2_1x是兩寫入埠的兩個輸入控制訊號。四個不同的同步模組同步地控制此四個輸入控制訊號,使其至記憶體的操作頻率。同步處理後,第一讀取訊號是Read_signal1_4x以及第二讀取訊號是Read_signal2_4x。類似地,同步處理後,第一寫入訊號是Write_signal1_4x以及第二寫入訊號是Write_signal2_4x。此四個同步的控制訊號再由讀取/寫入選擇器107處理,以取得單埠記憶體101的一輸入控制訊號1p_input_signal_4x。來自單埠記憶體101的讀取資料是read_out_data_4x。因為原先的輸入使用兩個讀取埠,所以讀取資料同步模組將輸入的讀取資料read_out_data_4x從操作頻率CLK_4x同步至操作頻率CLK_1x後,產生兩個讀取資料。對應於原先輸入控制訊號Read_signal1_1x的讀取資料是Rd1_out_1x,並且對應於原先輸入控制訊號Read_signal2_1x的讀取資料是Rd2_out_1x。
第九圖是根據本揭露的一實施例,說明第八圖之四埠至單埠的結構中,各種訊號的時序關係。在第一寫入埠上,對於控制訊號Write_signal1_1x的一輸入序列如第1至第5輸入,記為Wsig1_0~Wsig1_4;在第二寫入埠上,對於控制訊號Write_signal2_1x的一輸入序列如第一至第五輸入,記為Wsig2_0~Wsig2_4;在第一讀取埠上,對於控制訊號Read_signal1_1x的一輸入序列如第一至第五輸入,記為Rsig1_0~Rsig1_4;在第二讀取埠上,對於控制訊號Read_signal2_1x的一輸入序列如第一至第五輸入,記為Rsig2_0~Rsig2_4。四個同步的訊號Write_signal1_4x、Write_signal2_4x、Read_signal1_4x、以及Read_signal2_4x,是分別藉由同步模組Sync_W1、Sync_W2、Sync_R1、以及Sync_R2,對Write_signal1_1x、Write_signal2_1x、Read_signal1_1x、以及Read_signal2_1x中每一控制訊號的第一至第五輸入進行同步而得到的。然後,讀取/寫入訊號選擇器將此四個同步的控制訊號積集成為此單埠記憶體的一控制訊號1p_input_signal_4x。
第十圖是根據本揭露的一實施例,說明從單埠至四埠之讀取資料同步模組的替換與修改。單埠記憶體的控制訊號1p_input_signal_4x包括兩個讀取訊號,即Read_signal1_4x與Read_signal2_4x。所以,讀取資料Read_out_data_4x包括兩組讀取資料。對應於Read_signal1_4x的第一組讀取資料是 DATA1_0、DATA1_1、…、Data1_(N-1)、Data1_N、…。對應於Read_signal2_4x的第二組讀取資料是Data2_0、Data2_1、…、Data2_(N-1)、Data2_N、…。每一組讀取資料使用N個同步模組來進行同步。第一組資料讀分別使用N個同步模組,即同步模組SYNC1_1~同步模組SYNC1_N,來進行同步。第二組讀取資料分別使用其他N個同步模組,即同步模組SYNC2_1~同步模組SYNC2_N,來進行同步。同步後,第一組同步的資料是Data1_0_1x、Data1_1_1x、…、Data1_(N-1)_1x。同步後,第二組同步的資料是Data2_0_1x、Data2_1_1x、…、Data2_(N-1)_1x。然後,讀取資料選擇器405將兩組讀取資料形成為兩個埠的讀取資料Rd1_out_1x,Rd2_out_1x。
第十一圖是根據本揭露的一實施例,說明第十圖中從單埠至四埠之讀取資料同步模組的時序關係。第九圖中對應於單埠記憶體控制訊號1p_input_signal_4x的讀取資料Read_out_data_4x包含(兩埠的)兩組讀取資料,即一組DATA1_0、DATA1_1、…,與另一組Data2_0、Data2_1、…。此兩組讀取資料的每一組讀取資料分別使用N個同步模組來進行同步,即一組讀取資料使用同步模組SYNC1_1~同步模組SYNC1_N,另一組讀取資料使用同步模組SYNC2_1~同步模組SYNC2_N。兩組讀取資料的第一筆資料DATA1_0與Data2_0分別經由同步模組SYNC1_1與同步模組SYNC2_1同步後,成為同步的資料Data1_0_1x與Data2_0_1x,同步的資料 Data1_0_1x與Data2_0_1x將在同一時間出現在具有相同的系統頻率CLK_1x的時序中。兩組讀取資料的第二筆資料DATA1_1與Data2_1分別經由同步模組SYNC1_1與同步模組SYNC2_1同步後,成為同步的資料Data1_1_1x與Data2_1_1x,同步的資料Data1_1_1x與Data2_1_1x將緊隨同步的第一筆資料適時地出現在具有相同的系統操作頻率CLK_1x的時序中。然後,讀取資料選擇器積集此兩組同步的資料的每一對同步的資料,以形成為兩個埠的讀取資料,即Rd1_out_1x與Rd2_out_1x。
第十二圖是根據本揭露的一實施例,說明一種從三埠至單埠的結構。此處只比較第十二圖的實施例與第二圖的細節的不同。類似的組件(即使不同運作)以類似的參考號碼顯示與說明。在第十二圖中,假設有一埠是用來讀取訊號並且另兩個埠是用來寫入訊號。此單埠記憶體的操作頻率CLK_3x是一系統操作頻率CLK_1x的三倍。Read_signal1_1x是讀取埠的輸入控制訊號,並且Write_signal1_1x與Write_signal2_1x是兩個寫入埠的兩個輸入控制訊號。三個不同的同步模組同步地控制此三個輸入控制訊號至記憶體的操作頻率。同步處理後,第一讀取訊號是Read_signal1_3x。類似地,同步處理後,第一寫入訊號是Write_signal1_3x,以及第二寫入訊號是Write_signal2_3x。此三個同步的控制訊號再經由讀取/寫入選擇器107處理,以取得單埠記憶體101的一輸入控制訊號1p_input_signal_3x。單 埠記憶體101的讀取資料是read_out_data_3x。因為三個埠中只有一個埠是一讀取埠,此相同於前述的兩埠記憶體的實施例,其中此單埠的讀取資料是read_out_data_3x。讀取資料同步模組將讀取資料read_out_data_3x從操作頻率CLK_3x同步至操作頻率CLK_1x後,產生單埠的讀取資料CLK_1X_Read_out_data。
第十三圖是根據本揭露的一實施例,說明第十二圖中從三埠至單埠的結構的各種訊號的時序關係。參考第十三圖,在第一寫入埠上,對於控制訊號Write_signal1_1x的一輸入序列如第1至第5輸入,是Wsig1_0~Wsig1_4;在第二寫入埠上,對於控制訊號Write_signal2_1x的一輸入序列如第一至第五輸入,是Wsig2_0~Wsig2_4;在第一讀取埠上,對於控制訊號Read_signal1_1x的一輸入系列如第一至第五輸入,是Rsig1_0~Rsig1_4。三個同步的訊號,即Write_signal1_3x、Write_signal2_3x、以及Read_signal1_3x,是分別經由同步模組,即Sync_W1、Sync_W2、以及Sync_R1,進行同步而得到的。然後,讀取/寫入訊號選擇器107將此三個同步的訊號積集成為單埠記憶體的一控制訊號1p_input_signal_3x。
第十四圖是根據本揭露的一實施例,說明從單埠至三埠的讀取資料同步模組的替換與修改。單埠記憶體的控制訊號1p_input_signal_3x包括一讀取訊號Read_signal1_3x。因此,讀 取資料Read_out_data_3x包括兩組讀取資料。對應於讀取訊號Read_signal1_3x的一組讀取資料是Data0_3x、Data1_3x、…、Data(N-1)_3x,DataN_3x、…。類似於前述的兩埠記憶體的實施例,這些讀取資料是由N個同步模組進行同步。同步後,得到一組同步的資料是Data0_1x、Data1_1x、…、Data1(N-1)_1x。然後,讀取資料選擇器405將這些同步的讀取資料積集成具有系統所要求的讀取資料格式的一組輸出資料(即CLK_1x讀取資料)。
第十五圖是根據本揭露的一實施例,說明第十四圖中從單埠至三埠的讀取資料同步模組的時序關係。第十四圖中對應於單埠記憶體的控制訊號1p_input_signal_3x的讀取資料Read_out_data_3x包括一組讀取資料,即Data0_3x、Data1_3x、Data2_3x、…。類似於兩埠記憶體的前述實施例,這些讀取資料是由N個同步模組,即同步模組SYNC1~同步模組SYNCN進行同步。同步後,此N個同步模組產生同步的資料Data0_1x、Data1_1x、Data2_1x、…。然後,讀取資料選擇器405積集這些同步的資料,以形成讀取資料CLK_1x_Read_out_data,此讀取資料CLK_1x_Read_out_data具有原先系統的操作頻率的資料輸出格式。
綜上所述,依據本揭露的實施例提供一種技術,此技術使用單埠記憶體的結構來提供多埠的功能,以取代n埠記憶體, 其中n是一個正整數,且大於或等於2。在此技術中,輸入的讀取訊號與寫入訊號由多埠記憶體的操作頻率同步至單埠記憶體的操作頻率。同步的讀取訊號與同步的寫入訊號被積集成單埠記憶體的一組輸入控制訊號。此單埠記憶體的讀取資料從單埠記憶體的操作頻率被同步至多埠記憶體的操作頻率,以在原先系統中進行運作。
以上所述者僅為依據本揭露的實施範例,當不能依此限定本揭露實施之範圍。即大凡發明申請專利範圍所作之均等變化與修飾,皆應仍屬本揭露專利涵蓋之範圍。
100‧‧‧記憶體裝置
101‧‧‧單埠記憶體
103‧‧‧讀取同步模組
105‧‧‧寫入同步模組
107‧‧‧讀取/寫入訊號選擇器
109‧‧‧讀取資料同步模組
111‧‧‧讀取資料
113‧‧‧讀取訊號
115‧‧‧寫入訊號
117‧‧‧輸入控制訊號
123‧‧‧同步的讀取訊號
125‧‧‧同步的寫入訊號

Claims (19)

  1. 一種提供多埠功能的記憶體裝置,包含:一單埠記憶體,具有一第一操作頻率,該第一操作頻率是一多埠記憶體的一第二操作頻率的兩倍或大於兩倍以上;至少一讀取同步模組,將一組讀取訊號從該第二操作頻率同步至該第一操作頻率;至少一寫入同步模組,將一組寫入訊號從該第二操作頻率同步至該第一操作頻率;一讀取/寫入訊號選擇器,將一組同步的讀取訊號和一組同步的寫入訊號積集成該單埠記憶體的一組輸入控制訊號;以及一讀取資料同步模組,被配置為將該單埠記憶體的一組讀取資料從該第一操作頻率的同步至該多埠記憶體的該第二操作頻率。
  2. 如申請專利範圍第1項所述之記憶體裝置,其中該組同步的讀取訊號和該組同步的寫入訊號分佈在該單埠記憶體的一時鐘域的不同的時鐘週期。
  3. 如申請專利範圍第2項所述之記憶體裝置,其中該組同步的讀取訊號和該組同步的寫入訊號在該時鐘域裡的一分佈順序係由使用該記憶體裝置的一系統決定。
  4. 如申請專利範圍第1項所述之記憶體裝置,其中該單埠記憶體的該第一操作頻率是該多埠記憶體的該第二操作頻率的至少k倍,k是一個正實數,k大於或等於2。
  5. 如申請專利範圍第1項所述之記憶體裝置,其中該讀取資料同步模組還包括:一組同步模組,將該單埠記憶體的該組讀取資料從該第一操作頻率同步至一系統的一操作頻率,以在該系統中運作。
  6. 如申請專利範圍第5項所述之記憶體裝置,其中該組同步模組的個數大於或等於M,並且M是從該第一操作頻率同步至該系統的該操作頻率所造成的一個最大時間延遲的時鐘週期的數量。
  7. 如申請專利範圍第5項所述之記憶體裝置,其中該讀取資料同步模組還包括:一同步模組選擇器,控制來自該單埠記憶體的每一讀取資料使用該組同步模組中哪一同步模組。
  8. 如申請專利範圍第5項所述之記憶體裝置,其中該記憶體裝置使用一計數器做為一控制指示器,以指出在一同步過程中,每一讀取資料使用該組同步模組中的一相對應的同步模組。
  9. 如申請專利範圍第7項所述之記憶體裝置,其中對於每一讀取資料,該同步模組選擇器決定選取哪一同步模組,以及何時啟動所選取的該同步模組。
  10. 如申請專利範圍第7項所述之記憶體裝置,其中對於來自該單埠記憶體的每一讀取資料,該同步模組選擇器輪流致能該組同步模組中的一不同的同步模組。
  11. 如申請專利範圍第5項所述之記憶體裝置,其中該讀取資 料同步模組還包括:一讀取資料選擇器,將來自該組同步模組的一組同步的讀取資料積集成具有該多埠記憶體的一資料格式的一組輸出資料。
  12. 一種提供多埠功能的記憶體的方法,包含:提供具有一第一操作頻率的一單埠記憶體,該第一操作頻率是一多埠記憶體的一第二操作頻率的兩倍或大於兩倍以上;將一組讀取訊號從該第二操作頻率同步至該第一操作頻率,並且將一組寫入訊號從該第二操作頻率同步至該第一操作頻率;將一組同步的讀取訊號和一組同步的寫入訊號積集成該單埠記憶體的一組輸入控制訊號;以及將該單埠記憶體的一組讀取資料從該第一操作頻率同步至該多埠記憶體的該第二操作頻率。
  13. 如申請專利範圍第12項所述之方法,其中該方法還包括:將該組同步的讀取訊號與該組同步的寫入訊號分佈在該單埠記憶體的一時鐘域裡的不同的時鐘週期。
  14. 如申請專利範圍第13項所述之方法,其中該組同步的讀取訊號和該組同步的寫入訊號在該時鐘域裡的一分佈順序係由使用一記憶體裝置的一系統決定,該方法實施於該記憶體裝置上。
  15. 如申請專利範圍第12項所述之方法,其中該單埠記憶體 的該第一操作頻率是該多埠記憶體的該第二操作頻率的至少k倍,k是一個正實數,k大於或等於2。
  16. 如申請專利範圍第12項所述之方法,其中將該單埠記憶體的一組讀取資料從該第一操作頻率同步至該多埠記憶體的該第二操作頻率還包括:藉由一組同步模組,將該單埠記憶體的該組讀取資料從該第一操作頻率同步至一系統的一操作頻率,以在該系統中運作;以及藉由一讀取資料選擇器,將來自該組同步模組的一組同步的讀取資料積集成具有該多埠記憶體的一資料格式的一組輸出資料。
  17. 如申請專利範圍第16項所述之方法,其中該方法還包括:藉由一同步模組選擇器,控制來自該單埠記憶體的該組讀取資料的每一讀取資料使用該組同步模組中的哪一同步模組。
  18. 如申請專利範圍第17項所述之方法,其中該方法還包括:藉由該同步模組選擇器,對於該組讀取資料的每一讀取資料,決定選取哪一同步模組,以及何時啟動所選取的該同步模組。
  19. 如申請專利範圍第17項所述之方法,其中該方法還包括:對於來自該單埠記憶體的每一讀取資料,輪流致能該組同步模組中的一不同的同步模組。
TW103111288A 2013-06-07 2014-03-26 提供多埠功能的記憶體裝置與方法 TWI518703B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361832294P 2013-06-07 2013-06-07

Publications (2)

Publication Number Publication Date
TW201447910A TW201447910A (zh) 2014-12-16
TWI518703B true TWI518703B (zh) 2016-01-21

Family

ID=52005359

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103111288A TWI518703B (zh) 2013-06-07 2014-03-26 提供多埠功能的記憶體裝置與方法

Country Status (3)

Country Link
US (1) US9105318B2 (zh)
CN (1) CN104239246B (zh)
TW (1) TWI518703B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11099746B2 (en) 2015-04-29 2021-08-24 Marvell Israel (M.I.S.L) Ltd. Multi-bank memory with one read port and one or more write ports per cycle
US10089018B2 (en) * 2015-05-07 2018-10-02 Marvell Israel (M.I.S.L) Ltd. Multi-bank memory with multiple read ports and multiple write ports per cycle
US10558477B2 (en) * 2016-11-16 2020-02-11 International Business Machines Corporation Array clocking in emulation

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828623A (en) 1996-02-23 1998-10-27 Integrated Device Technology, Inc. Parallel write logic for multi-port memory arrays
US5761147A (en) 1997-02-21 1998-06-02 International Business Machines Corporation Virtual two-port memory structure with fast write-thru operation
US5933855A (en) 1997-03-21 1999-08-03 Rubinstein; Richard Shared, reconfigurable memory architectures for digital signal processing
US6314047B1 (en) * 1999-12-30 2001-11-06 Texas Instruments Incorporated Low cost alternative to large dual port RAM
US6882562B2 (en) 2001-11-01 2005-04-19 Agilent Technologies, Inc. Method and apparatus for providing pseudo 2-port RAM functionality using a 1-port memory cell
US7738496B1 (en) * 2002-12-31 2010-06-15 Cypress Semiconductor Corporation Device that provides the functionality of dual-ported memory using single-ported memory for multiple clock domains
US7934057B1 (en) 2003-12-24 2011-04-26 Cypress Semiconductor Corporation Logic for implementing a dual clock domain read access with predictable timing for bi-directional inputs/outputs
US7251186B1 (en) * 2004-06-07 2007-07-31 Virage Logic Corporation Multi-port memory utilizing an array of single-port memory cells
JP2006059490A (ja) * 2004-08-23 2006-03-02 Toshiba Corp 半導体記憶装置
CN100388252C (zh) 2004-12-14 2008-05-14 威瀚科技股份有限公司 实现双端口同步存储装置的方法及相关装置
US7349285B2 (en) 2005-02-02 2008-03-25 Texas Instruments Incorporated Dual port memory unit using a single port memory core
EP1811370A2 (en) 2005-12-30 2007-07-25 STMicroelectronics Pvt. Ltd. A first-in first-out (FIFO) memory architecture providing multiport functionality
US7533222B2 (en) 2006-06-29 2009-05-12 Mosys, Inc. Dual-port SRAM memory using single-port memory cell
US7529139B2 (en) * 2007-01-26 2009-05-05 Mediatek, Inc. N-port memory circuits allowing M memory addresses to be accessed concurrently and signal processing methods thereof
CN101236774B (zh) 2007-02-01 2011-04-13 北京芯技佳易微电子科技有限公司 单端口存储器实现多端口存储功能的装置和方法
US8102721B2 (en) 2007-06-27 2012-01-24 Infineon Technologies Ag Pseudo dual-port memory
US8959291B2 (en) 2010-06-04 2015-02-17 Lsi Corporation Two-port memory capable of simultaneous read and write
US8514652B2 (en) 2011-03-02 2013-08-20 Lsi Corporation Multiple-port memory device comprising single-port memory device with supporting control circuitry
US9641464B2 (en) * 2012-04-30 2017-05-02 Nxp Usa, Inc. FIFO buffer system providing same clock cycle response to pop commands

Also Published As

Publication number Publication date
CN104239246A (zh) 2014-12-24
TW201447910A (zh) 2014-12-16
US20140362651A1 (en) 2014-12-11
CN104239246B (zh) 2017-09-05
US9105318B2 (en) 2015-08-11

Similar Documents

Publication Publication Date Title
JP3013714B2 (ja) 半導体記憶装置
CN100585852C (zh) 使用最少引脚而被测试的半导体器件、以及测试其的方法
CN101694512B (zh) 测试电路和片上系统
JP5532724B2 (ja) インタフェース回路及びそれを備えた半導体装置
TWI566256B (zh) 記憶體系統及其記憶體實體介面電路
JP2009158084A (ja) 半導体メモリ素子及びその動作方法
US9088287B2 (en) Divided clock generation device and divided clock generation method
CN109800192B (zh) 电子设备、fpga芯片及其接口电路
TWI518703B (zh) 提供多埠功能的記憶體裝置與方法
WO2017148221A1 (zh) 串行外设接口的传输控制方法、装置及系统
US20150098296A1 (en) Semiconductor device and semiconductor system with the same
US20130007314A1 (en) First in first out device and method thereof
US20070129923A1 (en) Dynamic synchronizer simulation
US8868827B2 (en) FIFO apparatus for the boundary of clock trees and method thereof
KR20200140019A (ko) 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법
JP2007095256A (ja) 半導体メモリ素子のデータ入力装置
KR20170075473A (ko) 신호 쉬프팅 회로, 베이스 칩 및 이를 포함하는 반도체 시스템
TW200923650A (en) Data accessing apparatus and method
JP4855908B2 (ja) レイテンシーカウンター及び関連方法
JPS6373323A (ja) バツフアメモリ装置
KR101004686B1 (ko) 반도체 메모리 장치와 그의 구동 방법
TW201342379A (zh) 串列式快閃控制器、串列式快閃記憶體及其執行的方法
JP4826403B2 (ja) 同期化回路
US9251887B2 (en) Static random access memory system and operation method thereof
KR20110130915A (ko) 반도체 장치와 그의 동작 방법