JP2016536658A - メモリインターリーブのための構成可能な分散機能 - Google Patents
メモリインターリーブのための構成可能な分散機能 Download PDFInfo
- Publication number
- JP2016536658A JP2016536658A JP2016516553A JP2016516553A JP2016536658A JP 2016536658 A JP2016536658 A JP 2016536658A JP 2016516553 A JP2016516553 A JP 2016516553A JP 2016516553 A JP2016516553 A JP 2016516553A JP 2016536658 A JP2016536658 A JP 2016536658A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address bits
- memory channels
- round
- channels
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本特許出願は、本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれている2013年9月27日に出願した「CONFIGURABLE SPREADING FUNCTION FOR MEMORY INTERLEAVING」と題された仮出願第61/883,833号の優先権を主張するものである。
104 チャネル分散機能
106 チャネル内アドレス指定機能
108_0 第1のメモリチャネル
108_1 第2のメモリチャネル
CS0 選択信号、選択線
CS1 選択信号、選択線
CS2 選択線
200 処理システム
202a〜d プロセッサまたは中央演算処理装置
204 L2キャッシュ
206 グラフィックス処理ユニット
208 デジタル信号プロセッサ
210 ビデオコーダ/デコーダ(コーデック)
212 アドレス
214 システムバス
216 チャネル分散ブロック
218 チャネル内アドレス指定ブロック
220 世代(G)ブロック
222_0 メモリチャネル
222_1 メモリチャネル
222_2 メモリチャネル
Claims (23)
- メモリインターリーブの方法であって、
予め決められた数(G_total)の連続するラウンドにおいて反復的にN個のメモリチャネルにメモリのアドレスビットをメモリコントローラによってマッピングするステップであって、最後のラウンドを除く各ラウンドが、
前記Nメモリチャネルにわたるインターリーブのために使用されなかった予め定義された数(n)の最も低位のアドレスビットを含むアドレスビットのサブセットを選択すること、
(n)アドレスビットの前記選択されたサブセットによって表され得る一意の2進値の最大数(L)を決定すること、
前記最大数以内の等しい数の2進値を前記Nメモリチャネルの各々にマッピングすること、および
前記Nメモリチャネルの各々に等しい回数マッピングされ得ないいくつかの2進値が残っている(K<Nである)場合、および前記Nメモリチャネルの各々に等しい回数マッピングされ得ないいくつかの2進値が残っている(K<Nである)とき、次のラウンドに入ることを含む、ステップと、
前記最後のラウンドにおいて、最後の数(min_bits)の最上位のアドレスビットによって表される2進値を前記Nメモリチャネルに、前記メモリコントローラによってマッピングするステップとを含む、方法。 - N、L、K、およびFが、式N=(L-K)/Fを満たす請求項1に記載の方法。
- 前記メモリをN*R個のメモリチャネルに連続するラウンドにおいて反復的にマッピングするステップであって、各ラウンドにおいて、Rメモリチャネルにアドレスビットの異なるサブセットをマッピングするステップをさらに含む請求項1に記載の方法。
- 後続のラウンドにおけるアドレスビットの前記サブセットが、前のラウンドのアドレスビットに隣接し、前記前のラウンドの前記アドレスビットよりも上位である請求項1に記載の方法。
- トラフィックの不釣り合いの因子が、アドレスビットの前記サブセットのビットの数を増やす場合に削減される請求項1に記載の方法。
- 前記トラフィックの不釣り合いの因子が、アドレスビットの前記サブセットのビットの前記数を2倍にする場合に半分削減される請求項5に記載の方法。
- 前記予め決められた数(G_total)がプログラミング可能な定数である請求項1に記載の方法。
- 前記最後の数が、数式ceiling(log2N)によって決定される請求項1に記載の方法。
- N個のメモリチャネルを含むメモリと、
予め決められた数(G_total)の連続するラウンドにおいて反復的に前記Nメモリチャネルに前記メモリのアドレスビットをマッピングするための手段であって、最後のラウンドを除く各ラウンドに関して、
前記Nメモリチャネルにわたるインターリーブのために使用されなかった予め定義された数(n)の最も低位のアドレスビットを含むアドレスビットのサブセットを選択するための手段、
(n)アドレスビットの前記選択されたサブセットによって表され得る一意の2進値の最大数(L)を決定するための手段、
前記最大数以内の等しい数の2進値を前記Nメモリチャネルの各々にマッピングするための手段、および
前記Nメモリチャネルの各々に等しい回数マッピングされ得ないいくつかの2進値が残っている(K<Nである)場合、および前記Nメモリチャネルの各々に等しい回数マッピングされ得ないいくつかの2進値が残っている(K<Nである)とき、次のラウンドに入るための手段を含む、マッピングするための手段と、
前記最後のラウンドにおいて、最後の数(min_bits)の最上位のアドレスビットによって表される2進値を前記Nメモリチャネルにマッピングするための手段とを含む処理システム。 - N、L、K、およびFが、式N=(L-K)/Fを満たす請求項9に記載の処理システム。
- 前記メモリをN*R個のメモリチャネルに連続するラウンドにおいて反復的にマッピングするための手段であって、各ラウンドにおいて、Rメモリチャネルにアドレスビットの異なるサブセットをマッピングするための手段を含む、マッピングするための手段をさらに含む請求項9に記載の処理システム。
- プロセッサと、
前記プロセッサに通信可能なように結合されたメモリであって、N個のメモリチャネルを含む、メモリと、
予め決められた数(G_total)の連続するラウンドにおいて反復的に前記Nメモリチャネルに前記メモリのアドレスビットをマッピングするように構成されたメモリコントローラとを含み、最後のラウンドを除く各ラウンドに関して前記メモリコントローラが、
前記Nメモリチャネルにわたるインターリーブのために使用されなかった予め定義された数(n)の最も低位のアドレスビットを含むアドレスビットのサブセットを選択し、
(n)アドレスビットの前記選択されたサブセットによって表され得る一意の2進値の最大数(L)を決定し、
前記最大数以内の等しい数の2進値を前記Nメモリチャネルの各々にマッピングし、
前記Nメモリチャネルの各々に等しい回数マッピングされ得ないいくつかの2進値が残っている(K<Nである)場合、および前記Nメモリチャネルの各々に等しい回数マッピングされ得ないいくつかの2進値が残っている(K<Nである)とき、次のラウンドに入り、
前記最後のラウンドにおいて、最後の数(min_bits)の最上位のアドレスビットによって表される2進値を前記Nメモリチャネルにマッピングするように構成される、処理システム。 - N、L、K、およびFが、式N=(L-K)/Fを満たす請求項12に記載の処理システム。
- 前記メモリコントローラが、前記メモリをN*R個のメモリチャネルに連続するラウンドにおいて反復的にマッピングするようにさらに構成され、各ラウンドにおいて、前記メモリコントローラが、Rメモリチャネルにアドレスビットの異なるサブセットをマッピングするように構成される請求項12に記載の処理システム。
- 後続のラウンドにおけるアドレスビットの前記サブセットが、前のラウンドのアドレスビットに隣接し、前記前のラウンドの前記アドレスビットよりも上位である請求項12に記載の処理システム。
- トラフィックの不釣り合いの因子が、アドレスビットの前記サブセットのビットの数を増やす場合に削減される請求項12に記載の処理システム。
- 前記トラフィックの不釣り合いの因子が、アドレスビットの前記サブセットのビットの前記数を2倍にする場合に半分削減される請求項16に記載の処理システム。
- 前記予め決められた数(G_total)がプログラミング可能な定数である請求項12に記載の処理システム。
- 前記予め決められた数(G_total)が前記プロセッサに結合されたレジスタを介してプログラミング可能である請求項18に記載の処理システム。
- 前記メモリコントローラが、数式ceiling(log2N)に基づいて前記最後の数を決定するようにさらに構成される請求項12に記載の処理システム。
- プロセッサによって実行されるときに、前記プロセッサに結合された、Nメモリチャネルを含むメモリをインターリーブするための動作を前記プロセッサに実行させるコードを含む非一時的コンピュータ可読記録媒体であって、
予め決められた数(G_total)の連続するラウンドにおいて反復的に前記Nメモリチャネルに前記メモリのアドレスビットをマッピングするためのコードであって、最後のラウンドを除く各ラウンドに関して、
前記Nメモリチャネルにわたるインターリーブのために使用されなかった予め定義された数(n)の最も低位のアドレスビットを含むアドレスビットのサブセットを選択するためのコード、
(n)アドレスビットの前記選択されたサブセットによって表され得る一意の2進値の最大数(L)を決定するためのコード、
前記最大数以内の等しい数の2進値を前記Nメモリチャネルの各々にマッピングするためのコード、および
前記Nメモリチャネルの各々に等しい回数マッピングされ得ないいくつかの2進値が残っている(K<Nである)場合、および前記Nメモリチャネルの各々に等しい回数マッピングされ得ないいくつかの2進値が残っている(K<Nである)とき、次のラウンドに入るためのコードを含む、マッピングするためのコードと、
前記最後のラウンドにおいて、最後の数(min_bits)の最上位のアドレスビットによって表される2進値を前記Nメモリチャネルにマッピングするためのコードとを含む、非一時的コンピュータ可読記録媒体。 - N、L、K、およびFが、式N=(L-K)/Fを満たす請求項21に記載の非一時的コンピュータ可読記録媒体。
- 前記メモリをN*R個のメモリチャネルに連続するラウンドにおいて反復的にマッピングするためのコードであって、各ラウンドにおいて、Rメモリチャネルにアドレスビットの異なるサブセットをマッピングするためのコードを含む、マッピングするためのコードをさらに含む請求項21に記載の非一時的コンピュータ可読記録媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361883833P | 2013-09-27 | 2013-09-27 | |
US61/883,833 | 2013-09-27 | ||
US14/251,626 US9495291B2 (en) | 2013-09-27 | 2014-04-13 | Configurable spreading function for memory interleaving |
US14/251,626 | 2014-04-13 | ||
PCT/US2014/055449 WO2015047753A1 (en) | 2013-09-27 | 2014-09-12 | Configurable spreading function for memory interleaving |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016536658A true JP2016536658A (ja) | 2016-11-24 |
JP2016536658A5 JP2016536658A5 (ja) | 2017-02-23 |
JP6105814B2 JP6105814B2 (ja) | 2017-03-29 |
Family
ID=52741322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016516553A Expired - Fee Related JP6105814B2 (ja) | 2013-09-27 | 2014-09-12 | メモリインターリーブのための構成可能な分散機能 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9495291B2 (ja) |
EP (1) | EP3049935B1 (ja) |
JP (1) | JP6105814B2 (ja) |
KR (1) | KR101779545B1 (ja) |
CN (1) | CN105518632B (ja) |
WO (1) | WO2015047753A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102464801B1 (ko) * | 2015-04-14 | 2022-11-07 | 삼성전자주식회사 | 반도체 장치의 동작 방법 및 반도체 시스템 |
CN107180001B (zh) * | 2016-03-10 | 2020-02-21 | 华为技术有限公司 | 访问动态随机存储器dram的方法和总线 |
US10140223B2 (en) | 2016-06-27 | 2018-11-27 | Qualcomm Incorporated | System and method for odd modulus memory channel interleaving |
US10037306B2 (en) * | 2016-09-01 | 2018-07-31 | Qualcomm Incorporated | Approximation of non-linear functions in fixed point using look-up tables |
US10642733B1 (en) * | 2018-07-12 | 2020-05-05 | Lightbits Labs Ltd. | System and method for memory interface load balancing |
CN112513824B (zh) * | 2018-07-31 | 2024-04-09 | 华为技术有限公司 | 一种内存交织方法及装置 |
US10990517B1 (en) * | 2019-01-28 | 2021-04-27 | Xilinx, Inc. | Configurable overlay on wide memory channels for efficient memory access |
CN112395216A (zh) | 2019-07-31 | 2021-02-23 | 北京百度网讯科技有限公司 | 用于存储管理的方法、装置、设备和计算机可读存储介质 |
KR20210079894A (ko) * | 2019-12-20 | 2021-06-30 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6097446A (ja) * | 1983-10-31 | 1985-05-31 | Mitsubishi Electric Corp | 記憶装置 |
JPH03502019A (ja) * | 1988-10-27 | 1991-05-09 | ユニシス コーポレーシヨン | 自動可変メモリのインタリーブシステム |
US5479624A (en) * | 1992-10-14 | 1995-12-26 | Lee Research, Inc. | High-performance interleaved memory system comprising a prime number of memory modules |
JPH09128289A (ja) * | 1995-10-17 | 1997-05-16 | Ind Technol Res Inst | 多メモリバンクパーティション内のデータをインターリーブする方法及びシステム及びそれに用いられるメモリ |
JP2003228517A (ja) * | 2002-02-01 | 2003-08-15 | Matsushita Electric Ind Co Ltd | メモリ装置 |
US20110047346A1 (en) * | 2009-08-19 | 2011-02-24 | Sun Microsystems, Inc. | Efficient interleaving between a non-power-of-two number of entities |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381669B1 (en) * | 1999-12-27 | 2002-04-30 | Gregory V. Chudnovsky | Multi-bank, fault-tolerant, high-performance memory addressing system and method |
US6941438B2 (en) | 2003-01-10 | 2005-09-06 | Intel Corporation | Memory interleaving |
US20050172091A1 (en) | 2004-01-29 | 2005-08-04 | Rotithor Hemant G. | Method and an apparatus for interleaving read data return in a packetized interconnect to memory |
US8190809B2 (en) * | 2004-11-23 | 2012-05-29 | Efficient Memory Technology | Shunted interleave for accessing plural memory banks, particularly those having partially accessed cells containing data for cache lines |
KR100699491B1 (ko) * | 2005-07-19 | 2007-03-26 | 삼성전자주식회사 | 인터리빙 방법 및 그 장치 |
KR101011171B1 (ko) * | 2005-12-28 | 2011-01-26 | 후지쯔 가부시끼가이샤 | 메모리 제어 방법, 기억 매체 및 장치와 정보 처리 장치 |
US20080250212A1 (en) | 2007-04-09 | 2008-10-09 | Ati Technologies Ulc | Method and apparatus for accessing memory using programmable memory accessing interleaving ratio information |
US8327057B1 (en) * | 2007-04-16 | 2012-12-04 | Juniper Networks, Inc. | Ordering write bursts to memory |
US8051239B2 (en) * | 2007-06-04 | 2011-11-01 | Nokia Corporation | Multiple access for parallel turbo decoder |
US8438320B2 (en) | 2007-06-25 | 2013-05-07 | Sonics, Inc. | Various methods and apparatus for address tiling and channel interleaving throughout the integrated system |
US8751769B2 (en) * | 2007-12-21 | 2014-06-10 | Qualcomm Incorporated | Efficient address generation for pruned interleavers and de-interleavers |
US8438434B2 (en) * | 2009-12-30 | 2013-05-07 | Nxp B.V. | N-way parallel turbo decoder architecture |
US20120054455A1 (en) | 2010-08-31 | 2012-03-01 | Qualcomm Incorporated | Non-Uniform Interleaving Scheme In Multiple Channel DRAM System |
US20120137090A1 (en) * | 2010-11-29 | 2012-05-31 | Sukalpa Biswas | Programmable Interleave Select in Memory Controller |
-
2014
- 2014-04-13 US US14/251,626 patent/US9495291B2/en active Active
- 2014-09-12 KR KR1020167010742A patent/KR101779545B1/ko active IP Right Grant
- 2014-09-12 WO PCT/US2014/055449 patent/WO2015047753A1/en active Application Filing
- 2014-09-12 EP EP14786552.1A patent/EP3049935B1/en not_active Not-in-force
- 2014-09-12 CN CN201480049360.9A patent/CN105518632B/zh not_active Expired - Fee Related
- 2014-09-12 JP JP2016516553A patent/JP6105814B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6097446A (ja) * | 1983-10-31 | 1985-05-31 | Mitsubishi Electric Corp | 記憶装置 |
JPH03502019A (ja) * | 1988-10-27 | 1991-05-09 | ユニシス コーポレーシヨン | 自動可変メモリのインタリーブシステム |
US5479624A (en) * | 1992-10-14 | 1995-12-26 | Lee Research, Inc. | High-performance interleaved memory system comprising a prime number of memory modules |
JPH09128289A (ja) * | 1995-10-17 | 1997-05-16 | Ind Technol Res Inst | 多メモリバンクパーティション内のデータをインターリーブする方法及びシステム及びそれに用いられるメモリ |
JP2003228517A (ja) * | 2002-02-01 | 2003-08-15 | Matsushita Electric Ind Co Ltd | メモリ装置 |
US20110047346A1 (en) * | 2009-08-19 | 2011-02-24 | Sun Microsystems, Inc. | Efficient interleaving between a non-power-of-two number of entities |
Also Published As
Publication number | Publication date |
---|---|
EP3049935B1 (en) | 2018-05-30 |
WO2015047753A1 (en) | 2015-04-02 |
CN105518632B (zh) | 2019-07-09 |
US9495291B2 (en) | 2016-11-15 |
JP6105814B2 (ja) | 2017-03-29 |
EP3049935A1 (en) | 2016-08-03 |
KR101779545B1 (ko) | 2017-09-18 |
KR20160061387A (ko) | 2016-05-31 |
CN105518632A (zh) | 2016-04-20 |
US20150095595A1 (en) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6105814B2 (ja) | メモリインターリーブのための構成可能な分散機能 | |
US11487676B2 (en) | Address mapping in memory systems | |
JP6761891B2 (ja) | 柔軟なアドレスデコード機能を備えるメモリコントローラ | |
US11275696B2 (en) | Isolated performance domains in a memory system | |
US7872892B2 (en) | Identifying and accessing individual memory devices in a memory channel | |
US20130173845A1 (en) | Command Aware Partial Page Programming | |
US20120203960A1 (en) | Apparatus and method for multi-level cache utilization | |
US10162554B2 (en) | System and method for controlling a programmable deduplication ratio for a memory system | |
CN110175086B (zh) | 存储器件、半导体器件、半导体系统及耗损均衡设备 | |
JP2019121350A (ja) | ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス | |
CN106055495B (zh) | 用于控制半导体装置的方法 | |
WO2006021747A1 (en) | A memory controller | |
US9921969B2 (en) | Generation of random address mapping in non-volatile memories using local and global interleaving | |
TWI473014B (zh) | 增強型微處理器或微控制器 | |
US10915467B2 (en) | Scalable, parameterizable, and script-generatable buffer manager architecture | |
US20170108911A1 (en) | System and method for page-by-page memory channel interleaving | |
US7787311B2 (en) | Memory with programmable address strides for accessing and precharging during the same access cycle | |
US10095424B2 (en) | Apparatus and method for programming non-volatile memory using a multi-cell storage cell group | |
US20160357666A1 (en) | Memory interleaving on memory channels | |
EP3931704A1 (en) | Accelerating access to memory banks in a data storage system | |
JPH0981453A (ja) | メモリ制御方法及びその実施装置 | |
KR20240080913A (ko) | 스토리지 장치 및 그 동작 방법 | |
TW201915735A (zh) | 涉及命名空間規劃的資料管理方法以及資料儲存系統 | |
EP0500915A1 (en) | Method and apparatus for memory size selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170118 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170118 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170118 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170126 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6105814 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |