JP7195486B1 - 異種メモリシステムに対するシグナリング - Google Patents
異種メモリシステムに対するシグナリング Download PDFInfo
- Publication number
- JP7195486B1 JP7195486B1 JP2022540334A JP2022540334A JP7195486B1 JP 7195486 B1 JP7195486 B1 JP 7195486B1 JP 2022540334 A JP2022540334 A JP 2022540334A JP 2022540334 A JP2022540334 A JP 2022540334A JP 7195486 B1 JP7195486 B1 JP 7195486B1
- Authority
- JP
- Japan
- Prior art keywords
- memory
- volatile
- queue
- commands
- command
- 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.)
- Active
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- 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/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
【選択図】図4
Description
Claims (15)
- メモリコントローラであって、
揮発性メモリ読み込み、揮発性メモリ書き込み、不揮発性メモリ読み込み及び不揮発性メモリ書き込みを含むメモリアクセスコマンドを受信するための第1の入力と、出力と、を有し、複数のエントリを有するコマンドキューと、
前記コマンドキューの出力に結合された入力と、システムメモリ空間内でアドレス指定可能な不揮発性メモリを有する少なくとも1つの不揮発性記憶クラスメモリ(SCM)モジュールに結合された異種メモリチャネルに結合された出力と、を有するメモリインタフェースキューと、
前記メモリインタフェースキューに配置された不揮発性読み込みコマンドを記憶するために前記コマンドキューの出力に結合された不揮発性コマンドキュー(NVキュー)と、
前記コマンドキューからエントリを選択し、エントリを前記メモリインタフェースキューに配置して、前記異種メモリチャネルを介して送信させるために前記コマンドキューに結合されたアービタと、
関連する前記不揮発性読み込みコマンドに対して応答データが利用可能であることを示す準備完了応答を前記不揮発性SCMモジュールから受信し、前記準備完了応答を受信したことに応じて、前記応答データを送信するように前記不揮発性SCMモジュールに命令するための送信コマンドが前記メモリインタフェースキューに配置されるようにするために前記異種メモリチャネルに結合されるように構成された制御回路と、を備える、
メモリコントローラ。 - 前記制御回路は、応答データ及び関連する識別子が前記不揮発性SCMモジュールから受信されたことを検出し、それに応じて、前記関連する識別子を使用して前記不揮発性キュー内の前記関連する不揮発性読み込みコマンドを識別し、前記不揮発性キューから前記関連する不揮発性読み込みコマンドを除去するように構成されている、
請求項1のメモリコントローラ。 - 前記アービタは、前記メモリアクセスコマンドを前記メモリインタフェースキューに配置する前に、不揮発性メモリ読み込みコマンドを他の不揮発性読み込みコマンド又は揮発性読み込みコマンドとグループ化する、
請求項1のメモリコントローラ。 - 前記アービタは、前記送信コマンドを前記メモリインタフェースキューに配置する前に、前記送信コマンドを不揮発性読み込みコマンド又は揮発性読み込みコマンドとグループ化する、
請求項3のメモリコントローラ。 - 前記メモリコントローラは、前記関連する不揮発性読み込みコマンドに続く非決定的期間の後に前記準備完了応答を受信するように動作可能であり、
前記メモリコントローラは、前記非決定的期間の間、他のメモリアクセスコマンドを実行し、前記メモリインタフェースキューから他のメモリアクセスコマンドを除去するように動作可能である、
請求項1のメモリコントローラ。 - 前記制御回路は、前記メモリインタフェースキューが前記メモリアクセスコマンドへの応答を受信するサブチャネルとは別の前記異種メモリチャネルのサブチャネル上で前記準備完了応答を受信する、
請求項1のメモリコントローラ。 - 揮発性メモリ読み込み、揮発性メモリ書き込み、不揮発性メモリ読み込み及び不揮発性メモリ書き込みを含む複数のメモリアクセス要求を受信することと、
前記メモリアクセス要求を満たすためのメモリアクセスコマンドをメモリインタフェースキューに配置し、前記メモリアクセスコマンドを、前記メモリインタフェースキューから、システムメモリ空間内でアドレス指定可能な不揮発性メモリを有する不揮発性記憶クラスメモリ(SCM)モジュールに結合された異種メモリチャネルに送信することと、
前記メモリインタフェースキューに配置された前記不揮発性読み込みコマンドを不揮発性コマンドキュー(NVキュー)に記憶することと、
関連する前記不揮発性読み込みコマンドに対して応答データが利用可能であることを示す準備完了応答を前記不揮発性SCMモジュールから受信し、前記準備完了応答を受信したことに応じて、前記応答データを送信するように前記不揮発性SCMモジュールに命令するための送信コマンドを前記メモリインタフェースキューに配置することと、を含む、
方法。 - 前記不揮発性SCMモジュールから前記応答データ及び関連する識別子を受信し、それに応じて、前記関連する識別子を使用して前記NVキュー内の前記関連する不揮発性読み込みコマンドを識別し、関連する不揮発性読み込み要求の実行において前記応答データを提供し、前記NVキューから前記関連する不揮発性読み込みコマンドを除去することをさらに含む、
請求項7の方法。 - 前記メモリアクセスコマンドを前記メモリインタフェースキューに配置する前に、不揮発性読み込みコマンドを他の不揮発性読み込みコマンド又は揮発性読み込みコマンドとグループ化することをさらに含む、
請求項7の方法。 - 前記送信コマンドを前記メモリインタフェースキューに配置する前に、前記送信コマンドを不揮発性読み込みコマンド又は揮発性読み込みコマンドのグループとグループ化することをさらに含む、
請求項9の方法。 - 前記関連する不揮発性読み込みコマンドに続く非決定的期間の後に前記準備完了応答が受信され、
前記非決定的期間の間、他のメモリアクセスコマンドが、実行され、前記メモリインタフェースキューから除去される、
請求項7の方法。 - 前記準備完了応答は、前記メモリインタフェースキューが前記メモリアクセスコマンドへの応答を受信するサブチャネルとは別の前記異種メモリチャネルのサブチャネル上で受信される、
請求項7の方法。 - データプロセシングシステムであって、
セントラルプロセシングユニットと、
前記セントラルプロセシングユニットに結合されたデータファブリックと、
前記セントラルプロセシングユニットからのメモリ要求を実行するために前記データファブリックに結合されたメモリコントローラと、を備え、
前記メモリコントローラは、
揮発性読み込みコマンド、揮発性書き込みコマンド、不揮発性読み込みコマンド及び不揮発性書き込みコマンドを含むメモリアクセスコマンドを受信するための第1の入力と、出力と、を有し、複数のエントリを有するコマンドキューと、
前記コマンドキューの出力に結合された入力と、システムメモリ空間内でアドレス指定可能な不揮発性メモリを有する少なくとも1つの不揮発性記憶クラスメモリ(SCM)モジュールに結合された異種メモリチャネルに結合された出力と、を有するメモリインタフェースキューと、
前記メモリインタフェースキューに配置された不揮発性読み込みコマンドを記憶するために前記コマンドキューの出力に結合された不揮発性コマンドキュー(NVキュー)と、
前記コマンドキューからエントリを選択し、エントリを前記メモリインタフェースキューに配置して、前記異種メモリチャネルを介して送信させるために前記コマンドキューに結合されたアービタと、
関連する前記不揮発性読み込みコマンドに対して応答データが利用可能であることを示す準備完了応答を前記不揮発性SCMモジュールから受信し、前記準備完了応答を受信したことに応じて、前記応答データを送信するように前記不揮発性SCMモジュールに命令するための送信コマンドが前記メモリインタフェースキューに配置されるようにするために前記異種メモリチャネルに結合された制御ロジックと、を備える、
データプロセシングシステム。 - 前記制御ロジックは、応答データ及び関連する識別子が前記不揮発性SCMモジュールから受信されたことを検出し、それに応じて、前記関連する識別子を使用して前記NVキュー内の前記関連する不揮発性読み込みコマンドを識別し、前記NVキューから前記関連する不揮発性読み込みコマンドを除去する、
請求項13のデータプロセシングシステム。 - 前記アービタは、前記メモリアクセスコマンドを前記メモリインタフェースキューに配置する前に、不揮発性読み込みコマンドを他の不揮発性読み込みコマンド又は揮発性読み込みコマンドとグループ化する、
請求項13のデータプロセシングシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/730,070 US11099786B2 (en) | 2019-12-30 | 2019-12-30 | Signaling for heterogeneous memory systems |
US16/730,070 | 2019-12-30 | ||
PCT/US2020/064265 WO2021138017A1 (en) | 2019-12-30 | 2020-12-10 | Signalling for heterogeneous memory systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7195486B1 true JP7195486B1 (ja) | 2022-12-23 |
JP2023500741A JP2023500741A (ja) | 2023-01-10 |
Family
ID=76546262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022540334A Active JP7195486B1 (ja) | 2019-12-30 | 2020-12-10 | 異種メモリシステムに対するシグナリング |
Country Status (6)
Country | Link |
---|---|
US (2) | US11099786B2 (ja) |
EP (1) | EP4085340A4 (ja) |
JP (1) | JP7195486B1 (ja) |
KR (1) | KR102478527B1 (ja) |
CN (1) | CN114902198B (ja) |
WO (1) | WO2021138017A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11099786B2 (en) * | 2019-12-30 | 2021-08-24 | Advanced Micro Devices, Inc. | Signaling for heterogeneous memory systems |
US11531601B2 (en) * | 2019-12-30 | 2022-12-20 | Advanced Micro Devices, Inc. | Error recovery for non-volatile memory modules |
CN116301664B (zh) * | 2023-05-16 | 2023-08-15 | 北京象帝先计算技术有限公司 | 存储器的控制器、组件、电子设备及命令缓存方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177320A1 (en) | 2002-02-25 | 2003-09-18 | Suneeta Sah | Memory read/write reordering |
JP2012513647A (ja) | 2008-12-23 | 2012-06-14 | アップル インコーポレイテッド | 管理型不揮発性メモリのアドレスマッピングのためのアーキテクチャー |
US9996262B1 (en) | 2015-11-09 | 2018-06-12 | Seagate Technology Llc | Method and apparatus to abort a command |
WO2019125564A1 (en) | 2017-12-22 | 2019-06-27 | Advanced Micro Devices, Inc. | Scheduling memory requests with non-uniform latencies |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572322B2 (en) | 2010-03-29 | 2013-10-29 | Freescale Semiconductor, Inc. | Asynchronously scheduling memory access requests |
KR20150017526A (ko) | 2013-08-07 | 2015-02-17 | 삼성전자주식회사 | 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법 |
US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
US10572180B1 (en) * | 2015-11-09 | 2020-02-25 | Seagate Technology Llc | Method and apparatus to perform a function level reset in a memory controller |
US10282103B1 (en) | 2015-11-09 | 2019-05-07 | Seagate Technology Llc | Method and apparatus to delete a command queue |
CN114579488A (zh) * | 2016-04-04 | 2022-06-03 | 马维尔亚洲私人有限公司 | 用于在与直接目标访问桥接的结构上通过非易失性存储器访问主机存储器的方法和*** |
US10810144B2 (en) * | 2016-06-08 | 2020-10-20 | Samsung Electronics Co., Ltd. | System and method for operating a DRR-compatible asynchronous memory module |
US11675659B2 (en) * | 2016-07-15 | 2023-06-13 | Advanced Micro Devices, Inc. | DDR memory error recovery |
US10503438B1 (en) * | 2018-08-24 | 2019-12-10 | Micron Technology, Inc. | Memory sub-system supporting non-deterministic commands |
US11137941B2 (en) * | 2019-12-30 | 2021-10-05 | Advanced Micro Devices, Inc. | Command replay for non-volatile dual inline memory modules |
US11531601B2 (en) * | 2019-12-30 | 2022-12-20 | Advanced Micro Devices, Inc. | Error recovery for non-volatile memory modules |
US11099786B2 (en) * | 2019-12-30 | 2021-08-24 | Advanced Micro Devices, Inc. | Signaling for heterogeneous memory systems |
-
2019
- 2019-12-30 US US16/730,070 patent/US11099786B2/en active Active
-
2020
- 2020-12-10 CN CN202080090910.7A patent/CN114902198B/zh active Active
- 2020-12-10 WO PCT/US2020/064265 patent/WO2021138017A1/en unknown
- 2020-12-10 EP EP20910872.9A patent/EP4085340A4/en not_active Withdrawn
- 2020-12-10 JP JP2022540334A patent/JP7195486B1/ja active Active
- 2020-12-10 KR KR1020227025670A patent/KR102478527B1/ko active IP Right Grant
-
2021
- 2021-08-23 US US17/409,099 patent/US11748034B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177320A1 (en) | 2002-02-25 | 2003-09-18 | Suneeta Sah | Memory read/write reordering |
JP2012513647A (ja) | 2008-12-23 | 2012-06-14 | アップル インコーポレイテッド | 管理型不揮発性メモリのアドレスマッピングのためのアーキテクチャー |
US9996262B1 (en) | 2015-11-09 | 2018-06-12 | Seagate Technology Llc | Method and apparatus to abort a command |
WO2019125564A1 (en) | 2017-12-22 | 2019-06-27 | Advanced Micro Devices, Inc. | Scheduling memory requests with non-uniform latencies |
JP2021507399A (ja) | 2017-12-22 | 2021-02-22 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 不均一なレイテンシを有するメモリ要求のスケジューリング |
Also Published As
Publication number | Publication date |
---|---|
WO2021138017A1 (en) | 2021-07-08 |
CN114902198B (zh) | 2023-10-27 |
US11099786B2 (en) | 2021-08-24 |
US11748034B2 (en) | 2023-09-05 |
EP4085340A1 (en) | 2022-11-09 |
CN114902198A (zh) | 2022-08-12 |
EP4085340A4 (en) | 2023-06-14 |
KR20220116041A (ko) | 2022-08-19 |
US20210200467A1 (en) | 2021-07-01 |
JP2023500741A (ja) | 2023-01-10 |
KR102478527B1 (ko) | 2022-12-16 |
US20210382661A1 (en) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109564556B (zh) | 具有条纹和读取/写入事务管理的存储器控制器仲裁器 | |
JP7195486B1 (ja) | 異種メモリシステムに対するシグナリング | |
US11561862B2 (en) | Refresh management for DRAM | |
US11531601B2 (en) | Error recovery for non-volatile memory modules | |
JP7195484B1 (ja) | 不揮発性デュアルインラインメモリモジュールのコマンドリプレイ | |
US20210358540A1 (en) | Refresh management for dram | |
JP7521132B2 (ja) | アービトレーション中の書き込みバンクグループのマスク | |
CN115885268A (zh) | Dram命令拖尾管理 | |
US11995008B2 (en) | Memory controller with hybrid DRAM/persistent memory channel arbitration | |
CN117120992A (zh) | 用于多队列存储器控制器的信用方案 | |
CN115605853A (zh) | 高效存储器总线管理 | |
JP2024528414A (ja) | ハイブリッドdram/永続メモリチャネルアービトレーションを有するメモリコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220830 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220830 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220830 |
|
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: 20221122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7195486 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |