JP2019520660A5 - - Google Patents

Download PDF

Info

Publication number
JP2019520660A5
JP2019520660A5 JP2019500870A JP2019500870A JP2019520660A5 JP 2019520660 A5 JP2019520660 A5 JP 2019520660A5 JP 2019500870 A JP2019500870 A JP 2019500870A JP 2019500870 A JP2019500870 A JP 2019500870A JP 2019520660 A5 JP2019520660 A5 JP 2019520660A5
Authority
JP
Japan
Prior art keywords
address
decoder
access
region
memory
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
Application number
JP2019500870A
Other languages
English (en)
Other versions
JP6761891B2 (ja
JP2019520660A (ja
Filing date
Publication date
Priority claimed from US15/211,887 external-priority patent/US10403333B2/en
Application filed filed Critical
Publication of JP2019520660A publication Critical patent/JP2019520660A/ja
Publication of JP2019520660A5 publication Critical patent/JP2019520660A5/ja
Application granted granted Critical
Publication of JP6761891B2 publication Critical patent/JP6761891B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (19)

  1. メモリコントローラ(500)を有するデバイス(100,200)であって、
    メモリコントローラ(500)は、
    アクセスアドレスを含むメモリアクセス要求を受信するホストインタフェース(512)と、
    メモリアクセスをメモリシステム(120)に提供するメモリインタフェース(514)と、
    前記アクセスアドレスを、複数の領域のうち選択された領域にプログラム可能にマッピングするために、前記ホストインタフェース(512)に接続されたアドレスデコーダ(522,610)であって、第1の2のべき乗のサイズを有する一次デコーダ(720)と、第2の2のべき乗のサイズを有する二次デコーダ(730)とを使用して、前記アクセスアドレスを、非2のべき乗のサイズを有する第1領域にマッピングするようにプログラム可能であり、前記アクセスアドレスを前記第1領域にマッピングすることに応じて第1領域マッピング信号を提供する、アドレスデコーダ(522,610)と、
    前記メモリアクセス要求及び領域マッピング信号を記憶するために前記アドレスデコーダ(522,610)に接続されたコマンドキュー(520)と、
    前記領域マッピング信号に部分的に基づいて評価された複数の基準に基づいて、前記コマンドキュー(520)から前記メモリアクセス要求を選択し、これに応じて、対応するメモリアクセスを前記メモリインタフェース(514)に提供するアービタ(538)と、を備える、
    デバイス(100,200)。
  2. 前記領域マッピング信号は、前記メモリシステム(120)のチップ選択信号に対応する、
    請求項1のデバイス(100,200)。
  3. 前記アドレスデコーダ(522,610)は、複数の領域デコーダを備え、
    領域デコーダ(710)毎に、
    前記一次デコーダ(720)は、前記アクセスアドレスを受信し、一次領域選択信号を提供し、第1ベースアドレス及び第1の2のべき乗のサイズを有し、
    前記二次デコーダ(730)は、前記アクセスアドレスを受信し、二次領域選択信号を提供し、第2ベースアドレス及び第2の2のべき乗のサイズを有し、
    前記領域デコーダ(710)は、前記一次領域選択信号及び前記二次領域選択信号のうち少なくとも一方のアクティベートに応じて、対応する領域マッピング信号をアクティベートするための論理回路(740)をさらに備える、
    請求項1のデバイス(100,200)。
  4. 前記第1領域は、2+2(N−1)(Nは整数)のサイズを有し、
    前記一次デコーダ(720)は、サイズ2のサブ領域をデコードし、
    前記二次デコーダ(730)は、サイズ2(N−1)の領域をデコードする、
    請求項3のデバイス(100,200)。
  5. 前記アドレスデコーダ(522,610)は、前記アクセスアドレスをデコードして、行アドレス、列アドレス、バンクアドレス及びバンクグループを提供する、
    請求項3のデバイス(100,200)。
  6. 各領域デコーダ(710)は、
    前記一次デコーダ(720)に関連する第1構成レジスタのセット(750)と、
    前記二次デコーダ(730)に関連する第2構成レジスタのセット(760)と、をさらに備える、
    請求項3のデバイス(100,200)。
  7. 第3の2のべき乗のサイズを有する第1の一次デコーダ(720)と、前記第3の2のべき乗のサイズを有する第1の二次デコーダ(730)とを使用して、前記アクセスアドレスを、2のべき乗のサイズを有する第1領域(920)に選択的にマッピングし、これに応じて前記第1領域マッピング信号を提供する第1領域デコーダ(710,CS0)と、
    前記第3の2のべき乗のサイズを有する第2の一次デコーダ(720)と、前記第3の2のべき乗のサイズを有する第2の二次デコーダ(730)とを使用して、前記アクセスアドレスを、2のべき乗のサイズを有する第2領域(930)に選択的にマッピングし、これに応じて第2領域マッピング信号を提供する第2領域デコーダ(710,CS1)と、をさらに備え、
    前記メモリコントローラ(500)は、前記第1の一次デコーダ(720)と、前記第2の一次デコーダ(720)と、前記第1の二次デコーダ(730)と、前記第2の二次デコーダ(730)と、の各々の間で、前記アクセスアドレスに対応するメモリ空間をインターリーブする、
    請求項1のデバイス(100,200)。
  8. 前記デバイス(100,200)は、データ処理システム(100)であって、
    前記アクセスアドレスを有するメモリアクセス要求を提供するためのメモリアクセスエージェント(110,210,220)と、
    前記メモリアクセスに応答するメモリシステム(120)であって、少なくとも1つの非2のべき乗領域を含む複数の領域を有するメモリシステム(120)と、をさらに備える、
    請求項1のデバイス(100,200)。
  9. 前記デバイス(200)は、単一の集積回路チップ上に形成されたマイクロプロセッサ(100)であって、
    前記アクセスアドレスを有するメモリアクセス要求を提供するためのメモリアクセスエージェント(110,210,220)をさらに備える、
    請求項1のデバイス(100,200)。
  10. アクセスアドレスを含むメモリアクセス要求を受信することと、
    前記アクセスアドレスをデコードし、これに応じて、対応する領域マッピング信号を提供することであって、前記デコードすることは、第1の2のべき乗のサイズを有する第1の一次デコーダ(720)と、第2の2のべき乗のサイズを有する第1の二次デコーダ(730)とを使用して、前記アクセスアドレスを、非2のべき乗のサイズを有する第1領域に選択的にマッピングすることを含む、ことと、
    前記アクセスアドレスを前記第1領域にマッピングすることに応じて、第1領域マッピング信号を提供することと、
    前記メモリアクセス要求及び領域マッピング信号を記憶することと、
    記憶された前記メモリアクセス要求を、前記領域マッピング信号に部分的に基づいて評価された複数の基準に基づいて選択することと、
    選択されたメモリアクセス要求に応じて、対応するメモリアクセスを提供することと、を含む、
    方法。
  11. 前記選択されたメモリアクセス要求の前記対応する領域マッピング信号に応じて、複数のチップ選択信号のうち選択されたチップ選択信号をアクティベートすることをさらに含む、
    請求項10の方法。
  12. 前記デコードすることは、
    第1アクセスアドレスが、第1ベースアドレス及び前記第1の2のべき乗のサイズによって定義された第1サブ領域内に存在する場合に、前記第1アクセスアドレスをデコードして一次領域選択信号を提供することと、
    前記第1アクセスアドレスが、第2ベースアドレス及び前記第2の2のべき乗のサイズによって定義された第2サブ領域内に存在する場合に、前記第1アクセスアドレスをデコードして二次領域選択信号を提供することと、
    前記一次領域選択信号及び前記二次領域選択信号のうち少なくとも一方のアクティベートに応じて、対応する領域マッピング信号をアクティベートすることと、を含む、
    請求項10の方法。
  13. 前記第1アクセスアドレスをデコードして一次領域選択信号を提供すること、及び、前記第1アクセスアドレスをデコードして二次領域選択信号を提供すること、の各々は、
    前記第1アクセスアドレスをデコードして行アドレス、列アドレス、バンクアドレス及びバンクグループを提供することを含む、
    請求項12の方法。
  14. 第3の2のべき乗のサイズを有する前記第1の一次デコーダ(720)と、前記第3の2のべき乗のサイズを有する前記第1の二次デコーダ(730)とを使用して、前記アクセスアドレスを、2のべき乗のサイズを有する前記第1領域(920)に選択的にマッピングし、これに応じて第1領域マッピング信号を提供することと、
    前記第3の2のべき乗のサイズを有する第2の一次デコーダ(720)と、前記第3の2のべき乗のサイズを有する第2の二次デコーダ(730)とを使用して、前記アクセスアドレスを、2のべき乗のサイズを有する第2領域(930)に選択的にマッピングし、これに応じて第2領域マッピング信号を提供することと、をさらに含み、
    前記アクセスアドレスを前記第1領域(920)に選択的にマッピングすること、及び、前記アクセスアドレスを前記第2領域(930)に選択的にマッピングすること、の各々は、前記第1の一次デコーダ(720)と、前記第2の一次デコーダ(720)と、前記第1の二次デコーダ(730)と、前記第2の二次デコーダ(730)と、の間で、前記アクセスアドレスに対応するメモリ空間(910)をインターリーブすることを含む、
    請求項10の方法。
  15. 前記デコードすることは、
    複数のプログラム可能なビットに応じて、前記アクセスアドレスの対応する複数のビットのうち何れのビットがハッシュ関数で使用されるかを決定し、前記ハッシュ関数を使用して前記アクセスアドレスを選択的にハッシュすることをさらに含む、
    請求項10の方法。
  16. メモリコントローラ(500)を有するデバイス(100,200)であって、
    メモリコントローラ(500)は、
    アクセスアドレスを含むメモリアクセス要求を受信するホストインタフェース(512)と、
    メモリアクセスをメモリシステム(120)に提供するメモリインタフェース(514)であって、前記メモリアクセスは、ハッシュされたアドレスを含む、メモリインタフェース(514)と、
    ハッシュ関数を用いて、前記アクセスアドレスを、前記メモリシステム(120)の複数の領域のうち選択された領域にプログラム可能にマッピングするために、前記ホストインタフェース(512)に接続されたアドレスデコーダ(522,1010)であって、複数のプログラム可能なビットに応じて、前記アクセスアドレスの対応する複数のビットのうち何れのビットが前記ハッシュ関数で使用されるかを決定するアドレスデコーダ(522,1010)と、
    前記ハッシュされたアドレスを含むメモリアクセス要求をを記憶するために前記アドレスデコーダ(522,1010)に接続されたコマンドキュー(520)と、
    複数の基準に基づいて前記コマンドキュー(520)から前記メモリアクセス要求を選択し、これに応じて、前記ハッシュされたアドレスを含む対応するメモリアクセスを前記メモリインタフェース(514)に提供するアービタ(538)と、を備え、
    前記アドレスデコーダ(522,1010)は、
    前記アクセスアドレスと、前記アクセスアドレスのプログラム可能な部分をハッシュするための少なくとも1つのプログラム可能なチップ選択ハッシュビットと、に応じて、1つのハッシュされたチップ選択信号を各アクセス要求に関連付けるチップ選択ハッシュ回路(1012)と、
    前記アクセスアドレスと、前記ハッシュされたチップ選択信号と、前記アクセスアドレスのプログラム可能な部分をハッシュするための少なくとも1つのプログラム可能なバンクアドレスハッシュビットと、に応じて、各アクセス要求を、選択されハッシュされたチップ選択に対応するチップ内の1つのバンクに関連付けるバンクアドレスハッシュ回路(1014)と、を備え、
    前記デバイス(100,200)は、符号化されたチップ選択信号のビットにそれぞれ対応する複数のチップ選択構成レジスタ(1020)をさらに備え、各チップ選択構成レジスタは、前記アクセスアドレスのビットにそれぞれ対応する複数のビットを記憶し、対応するビットが前記ハッシュ関数の一部を形成するかどうかを定義する、
    デバイス(100,200)。
  17. 前記チップ選択ハッシュ回路(1012)は、前記符号化されたチップ選択信号のビット毎に、前記複数のチップ選択構成レジスタ(1020)のうち対応するレジスタ内のビットが示す前記アクセスアドレスの複数のビットの各々の間で排他的論理和演算を実行する、
    請求項16のデバイス(100,200)。
  18. メモリコントローラ(500)を有するデバイス(100,200)であって、
    メモリコントローラ(500)は、
    アクセスアドレスを含むメモリアクセス要求を受信するホストインタフェース(512)と、
    メモリアクセスをメモリシステム(120)に提供するメモリインタフェース(514)であって、前記メモリアクセスは、ハッシュされたアドレスを含む、メモリインタフェース(514)と、
    ハッシュ関数を用いて、前記アクセスアドレスを、前記メモリシステム(120)の複数の領域のうち選択された領域にプログラム可能にマッピングするために、前記ホストインタフェース(512)に接続されたアドレスデコーダ(522,1010)であって、複数のプログラム可能なビットに応じて、前記アクセスアドレスの対応する複数のビットのうち何れのビットが前記ハッシュ関数で使用されるかを決定するアドレスデコーダ(522,1010)と、
    前記ハッシュされたアドレスを含むメモリアクセス要求をを記憶するために前記アドレスデコーダ(522,1010)に接続されたコマンドキュー(520)と、
    複数の基準に基づいて前記コマンドキュー(520)から前記メモリアクセス要求を選択し、これに応じて、前記ハッシュされたアドレスを含む対応するメモリアクセスを前記メモリインタフェース(514)に提供するアービタ(538)と、を備え、
    前記アドレスデコーダ(522,1010)は、
    前記アクセスアドレスと、前記アクセスアドレスのプログラム可能な部分をハッシュするための少なくとも1つのプログラム可能なチップ選択ハッシュビットと、に応じて、1つのハッシュされたチップ選択信号を各アクセス要求に関連付けるチップ選択ハッシュ回路(1012)と、
    前記アクセスアドレスと、前記ハッシュされたチップ選択信号と、前記アクセスアドレスのプログラム可能な部分をハッシュするための少なくとも1つのプログラム可能なバンクアドレスハッシュビットと、に応じて、各アクセス要求を、選択されハッシュされたチップ選択に対応するチップ内の1つのバンクに関連付けるバンクアドレスハッシュ回路(1014)と、を備え、
    前記デバイス(100,200)は、符号化されたバンクアドレス信号のビットにそれぞれ対応する複数のバンクアドレス構成レジスタ(1030)をさらに備え、各バンクアドレス構成レジスタは、前記アクセスアドレスのビットにそれぞれ対応する複数のビットを記憶し、前記アクセスアドレスの対応するビットが前記ハッシュ関数で使用されるかどうかを定義する、
    デバイス(100,200)。
  19. 前記バンクアドレスハッシュ回路(1014)は、前記符号化されたバンクアドレス信号のビット毎に、前記複数のバンクアドレス構成レジスタ(1030)のうち対応するレジスタ内のビットが示す前記アクセスアドレスの複数のビットの各々の間で排他的論理和演算を実行する、
    請求項18のデバイス(100,200)。
JP2019500870A 2016-07-15 2016-09-23 柔軟なアドレスデコード機能を備えるメモリコントローラ Active JP6761891B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/211,887 2016-07-15
US15/211,887 US10403333B2 (en) 2016-07-15 2016-07-15 Memory controller with flexible address decoding
PCT/US2016/053358 WO2018013158A1 (en) 2016-07-15 2016-09-23 Memory controller with flexible address decoding

Publications (3)

Publication Number Publication Date
JP2019520660A JP2019520660A (ja) 2019-07-18
JP2019520660A5 true JP2019520660A5 (ja) 2019-10-24
JP6761891B2 JP6761891B2 (ja) 2020-09-30

Family

ID=60940724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019500870A Active JP6761891B2 (ja) 2016-07-15 2016-09-23 柔軟なアドレスデコード機能を備えるメモリコントローラ

Country Status (6)

Country Link
US (1) US10403333B2 (ja)
EP (1) EP3485383A4 (ja)
JP (1) JP6761891B2 (ja)
KR (1) KR20190019200A (ja)
CN (1) CN109478169B (ja)
WO (1) WO2018013158A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3534264B1 (en) * 2016-11-23 2024-05-22 Huawei Technologies Co., Ltd. Memory allocation method and apparatus
US11082523B2 (en) * 2017-02-09 2021-08-03 International Business Machines Corporation System, method and computer program product for a distributed virtual address space
IT201800002895A1 (it) * 2018-02-21 2019-08-21 Stmicroelectronics Application Gmbh Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento
KR102583448B1 (ko) * 2018-04-10 2023-09-27 에스케이하이닉스 주식회사 온도 관리를 위해 주소를 제어하는 반도체 메모리 장치
US11194382B2 (en) * 2018-10-16 2021-12-07 Advanced Micro Devices, Inc. Speculative exit from power down mode of a dynamic random access memory rank
US10642734B1 (en) * 2018-12-03 2020-05-05 Advanced Micro Devices, Inc. Non-power of two memory configuration
KR20210034726A (ko) 2019-09-20 2021-03-31 삼성전자주식회사 메모리 모듈, 그것을 제어하는 메모리 제어기의 에러 정정 방법, 및 그것을포함하는 컴퓨팅 시스템
US11403217B2 (en) * 2019-10-30 2022-08-02 Qualcomm Incorporated Memory bank group interleaving
US11537319B2 (en) 2019-12-11 2022-12-27 Advanced Micro Devices, Inc. Content addressable memory with sub-field minimum and maximum clamping
US11561862B2 (en) 2020-05-29 2023-01-24 Advanced Micro Devices, Inc. Refresh management for DRAM
CN112286844B (zh) * 2020-10-30 2022-09-02 烽火通信科技股份有限公司 一种可适配业务地址映射的ddr4控制方法及装置
US11379388B1 (en) * 2021-03-31 2022-07-05 Advanced Micro Devices, Inc. Credit scheme for multi-queue memory controllers
US11693585B2 (en) 2021-04-26 2023-07-04 Apple Inc. Address hashing in a multiple memory controller system
US11972140B2 (en) 2021-04-26 2024-04-30 Apple Inc. Hashing with soft memory folding
CN113312277B (zh) * 2021-06-29 2024-06-25 合肥忆芯电子科技有限公司 存储体地址映射装置、方法及电子设备
JP7168731B1 (ja) 2021-07-19 2022-11-09 Necプラットフォームズ株式会社 メモリアクセス制御装置、メモリアクセス制御方法、及び、メモリアクセス制御プログラム
US11803471B2 (en) 2021-08-23 2023-10-31 Apple Inc. Scalable system on a chip
US20230418772A1 (en) * 2022-06-24 2023-12-28 Advanced Micro Devices, Inc. Memory controller with pseudo-channel support
CN116049047B (zh) * 2022-12-30 2024-04-12 成都电科星拓科技有限公司 一种eeprom访问方法
CN116700631B (zh) * 2023-08-03 2023-09-29 摩尔线程智能科技(北京)有限责任公司 任务管理装置、方法、图形处理器及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142672A (en) * 1987-12-15 1992-08-25 Advanced Micro Devices, Inc. Data transfer controller incorporating direct memory access channels and address mapped input/output windows
US5748939A (en) * 1993-06-30 1998-05-05 Intel Corporation Memory device with a central control bus and a control access register for translating an access request into an access cycle on the central control bus
JP3713312B2 (ja) * 1994-09-09 2005-11-09 株式会社ルネサステクノロジ データ処理装置
US5764963A (en) * 1995-07-07 1998-06-09 Rambus, Inc. Method and apparatus for performing maskable multiple color block writes
US7318114B1 (en) 2004-10-29 2008-01-08 Sun Microsystems, Inc. System and method for dynamic memory interleaving and de-interleaving
US7480781B2 (en) 2004-12-30 2009-01-20 Intel Corporation Apparatus and method to merge and align data from distributed memory controllers
US9171585B2 (en) * 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US7620793B1 (en) * 2006-08-28 2009-11-17 Nvidia Corporation Mapping memory partitions to virtual memory pages
JP5018074B2 (ja) * 2006-12-22 2012-09-05 富士通セミコンダクター株式会社 メモリ装置,メモリコントローラ及びメモリシステム
US7904626B2 (en) * 2007-06-07 2011-03-08 Renesas Electronics Corporation Arbiter and arbitration method of multiple data accesses
US8438320B2 (en) * 2007-06-25 2013-05-07 Sonics, Inc. Various methods and apparatus for address tiling and channel interleaving throughout the integrated system
US7793038B2 (en) * 2007-06-26 2010-09-07 International Business Machines Corporation System and method for programmable bank selection for banked memory subsystems
US7813212B2 (en) * 2008-01-17 2010-10-12 Mosaid Technologies Incorporated Nonvolatile memory having non-power of two memory capacity
US20120137090A1 (en) * 2010-11-29 2012-05-31 Sukalpa Biswas Programmable Interleave Select in Memory Controller
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US9141541B2 (en) 2013-09-20 2015-09-22 Advanced Micro Devices, Inc. Nested channel address interleaving
US9213600B2 (en) 2013-11-11 2015-12-15 Seagate Technology Llc Dynamic per-decoder control of log likelihood ratio and decoding parameters
US9293188B2 (en) * 2014-02-03 2016-03-22 Advanced Micro Devices, Inc. Memory and memory controller for high reliability operation and method

Similar Documents

Publication Publication Date Title
JP2019520660A5 (ja)
JP6761891B2 (ja) 柔軟なアドレスデコード機能を備えるメモリコントローラ
US10936418B2 (en) Reduced uncorrectable memory errors
KR102479212B1 (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US9431064B2 (en) Memory circuit and cache circuit configuration
JP6284351B2 (ja) メモリ制御器及びそれを含むメモリシステム
TWI514406B (zh) 選擇性錯誤校正碼及記憶體存取粒度切換技術
US20140133259A1 (en) Memory system components that support error detection and correction
KR20170016385A (ko) 웨어 레벨링 동작들을 수행하기 위한 장치들 및 방법들
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
TW201802671A (zh) 對記憶體通道執行軟體調訓的電子裝置、其記憶體通道調訓方法及其系統
US10838645B2 (en) Memory writing operations with consideration for thermal thresholds
US7398362B1 (en) Programmable interleaving in multiple-bank memories
KR102398541B1 (ko) 반도체장치 및 반도체시스템
US20200183592A1 (en) Storage device and method of operating the same
CN111033483A (zh) 存储器地址验证方法和使用所述方法的存储器装置
US11347420B2 (en) Attribute mapping in multiprotocol devices
TWI697908B (zh) 使用階層式解碼器之誤差校正
US10802712B2 (en) Information processing apparatus and method of processing information
US10078548B2 (en) Memory controller, semiconductor device and method of controlling semiconductor device
JP4582078B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2018160029A5 (ja)
US9104596B2 (en) Memory system
JP6424330B2 (ja) 情報処理装置、及び情報処理方法
KR20170100415A (ko) 메모리 콘트롤러 및 집적회로 시스템