JPWO2018003244A1 - メモリコントローラ、メモリシステムおよび情報処理システム - Google Patents
メモリコントローラ、メモリシステムおよび情報処理システム Download PDFInfo
- Publication number
- JPWO2018003244A1 JPWO2018003244A1 JP2018524909A JP2018524909A JPWO2018003244A1 JP WO2018003244 A1 JPWO2018003244 A1 JP WO2018003244A1 JP 2018524909 A JP2018524909 A JP 2018524909A JP 2018524909 A JP2018524909 A JP 2018524909A JP WO2018003244 A1 JPWO2018003244 A1 JP WO2018003244A1
- Authority
- JP
- Japan
- Prior art keywords
- memory
- write
- control unit
- read
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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
-
- 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
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)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
メモリシステムは、複数のメモリと、メモリコントローラとを備える。メモリコントローラは、メモリライト制御部と、メモリリード制御部とを備える。メモリライト制御部は、コンピュータからのライトコマンドに基づいて複数のメモリのいずれかに対するライトリクエストを生成する。メモリリード制御部は、ライトリクエストに係るライトデータのメモリライト制御部におけるデータ処理状態に応じた優先度によって複数のメモリのいずれかに対するリードリクエストをコンピュータからのリードコマンドに基づいて生成する。
Description
1.第1の実施の形態(ライトデータ準備中のメモリダイに対するリードコマンドに高い優先度を付与する例)
2.第2の実施の形態(ライトデータ準備完了のメモリダイに対するリードコマンドに低い優先度を付与する例)
[情報処理システムの構成]
図1は、本技術の実施の形態における情報処理システムの一構成例を示す図である。この情報処理システムは、ホストコンピュータ100と、メモリコントローラ200と、メモリ300とから構成される。メモリコントローラ200およびメモリ300はメモリシステム400を構成する。
図2は、本技術の実施の形態におけるメモリコントローラ200の一構成例を示す図である。このメモリコントローラ200は、ストレージインターフェース制御部210と、プロセッサ230と、RAM240と、メモリ制御エンジン201とを備え、これらの間はI/Oバス220によって相互に接続される。
図6は、本技術の第1の実施の形態のリードコマンド選択部254−1によるリードコマンドに対する優先度の付与規則例を示す図である。
図8は、本技術の第1の実施の形態におけるメモリコントローラ200の動作タイミングを説明するための比較例である。この例では、ホストコンピュータ100から、メモリダイ#1に対するライトコマンドC1、メモリダイ#2に対するリードコマンドC2、メモリダイ#1に対するリードコマンドC3の順に、各コマンドが発行された例を示している。
上述の第1の実施の形態では、ライトデータが準備中のメモリダイにおける後続のリードアクセスを優先して行うことを想定した。この第2の実施の形態では、これに加えて、ライトデータの準備が完了している状態であれば、逆に後続のリードアクセスの優先度を低く設定することを想定する。なお、情報処理システムとしての全体構成は上述の第1の実施の形態と同様であるため、詳細な説明は省略する。
図10は、本技術の第2の実施の形態におけるメモリ制御エンジン202の信号線の一例を示す図である。この第2の実施の形態のメモリ制御エンジン202では、メモリ制御部250−2からメモリ制御部250−1に対して、信号「data_ready1」および信号「data_ready2」を供給する点において、上述の第1の実施の形態と異なる。その他の点については、図3により説明したメモリ制御エンジン201と同様である。
図13は、本技術の第2の実施の形態のリードコマンド選択部254−1によるリードコマンドに対する優先度の付与規則例を示す図である。
図14は、本技術の第2の実施の形態におけるメモリコントローラ200の動作タイミングを説明するための比較例である。この例では、ホストコンピュータ100から、メモリダイ#1に対するライトコマンドC4、メモリダイ#1に対するリードコマンドC5、メモリダイ#2に対するリードコマンドC6の順に、各コマンドが発行された例を示している。また、ライトコマンドC4の前には、メモリダイ#1および#2は他のリクエストによって既にビジー状態になっていることを想定する。
(1)コンピュータからのライトコマンドに基づいて複数のメモリのいずれかに対するライトリクエストを生成するメモリライト制御部と、
前記ライトリクエストに係るライトデータの前記メモリライト制御部におけるデータ処理状態に応じた優先度によって前記複数のメモリのいずれかに対するリードリクエストを前記コンピュータからのリードコマンドに基づいて生成するメモリリード制御部と
を具備するメモリコントローラ。
(2)前記メモリライト制御部は、
前記ライトデータについてエラー訂正コードを生成するエラー訂正コード生成部と、
前記複数のメモリのそれぞれに対する前記ライトデータについて前記エラー訂正コードが生成中であるか否かを示すビジー信号を前記データ処理状態として生成するビジー信号生成部とを備え、
前記メモリリード制御部は、前記複数のメモリのうち前記ビジー信号が前記エラー訂正コードの生成中である旨を示しているものの前記優先度を高く設定する
前記(1)に記載のメモリコントローラ。
(3)前記メモリライト制御部は、前記エラー訂正コードが生成された前記ライトデータを保持するデータバッファと、
前記複数のメモリのそれぞれに対する前記ライトデータについて前記エラー訂正コードの生成が完了して前記データバッファに準備されているか否かを示すレディ信号を前記データ処理状態として生成するレディ信号生成部とをさらに備え、
前記メモリリード制御部は、前記複数のメモリのうち前記エラー訂正コードが生成完了している旨を前記レディ信号が示しているものの前記優先度を低く設定する
前記(2)に記載のメモリコントローラ。
(4)前記メモリリード制御部は、
前記コンピュータからのリードコマンドを保持するコマンドキューと、
前記複数のメモリのそれぞれについて前記ライトリクエストに係るライトデータの前記メモリライト制御部における前記データ処理状態に応じた前記優先度を設定してその優先度に従って前記コマンドキューから前記複数のメモリのいずれかに対するリードコマンドを選択するリードコマンド選択部と、
前記選択されたリードコマンドに基づいて前記複数のメモリのいずれかに対してリードリクエストおよびアドレスを生成して送信するメモリリクエストアドレス送信部とを備える
前記(1)から(3)のいずれかに記載のメモリコントローラ。
(5)複数のメモリと、
コンピュータからのライトコマンドに基づいて前記複数のメモリのいずれかに対するライトリクエストを生成するメモリライト制御部と、
前記ライトリクエストに係るライトデータの前記メモリライト制御部におけるデータ処理状態に応じた優先度によって前記複数のメモリのいずれかに対するリードリクエストを前記コンピュータからのリードコマンドに基づいて生成するメモリリード制御部と
を具備するメモリシステム。
(6)複数のメモリと、
コンピュータと、
前記コンピュータからのライトコマンドに基づいて前記複数のメモリのいずれかに対するライトリクエストを生成するメモリライト制御部と、
前記ライトリクエストに係るライトデータの前記メモリライト制御部におけるデータ処理状態に応じた優先度によって前記複数のメモリのいずれかに対するリードリクエストを前記コンピュータからのリードコマンドに基づいて生成するメモリリード制御部と
を具備する情報処理システム。
200 メモリコントローラ
201、202 メモリ制御エンジン
210 ストレージインターフェース制御部
220 I/Oバス
230 プロセッサ
240 RAM
250−1 メモリ制御部(メモリリード制御部)
250−2 メモリ制御部(メモリライト制御部)
251−1 コマンドキュー
252−1、252−2 デコーダ
253−1、253−2 メモリリクエストアドレス送信部
254−1 リードコマンド選択部
254−2 バスデータ受信部
255−2 エラー訂正コード生成部
256−1 メモリデータ受信部
256−2 データバッファ
257−1 エラー検出訂正部
257−2 メモリデータ送信部
258−1 バスデータ送信部
258−2 ビジー信号生成部
259−2 レディ信号生成部
260 接続切換部
270 メモリインターフェース制御部
300 メモリ
301、302 メモリダイ
400 メモリシステム
Claims (6)
- コンピュータからのライトコマンドに基づいて複数のメモリのいずれかに対するライトリクエストを生成するメモリライト制御部と、
前記ライトリクエストに係るライトデータの前記メモリライト制御部におけるデータ処理状態に応じた優先度によって前記複数のメモリのいずれかに対するリードリクエストを前記コンピュータからのリードコマンドに基づいて生成するメモリリード制御部と
を具備するメモリコントローラ。 - 前記メモリライト制御部は、
前記ライトデータについてエラー訂正コードを生成するエラー訂正コード生成部と、
前記複数のメモリのそれぞれに対する前記ライトデータについて前記エラー訂正コードが生成中であるか否かを示すビジー信号を前記データ処理状態として生成するビジー信号生成部とを備え、
前記メモリリード制御部は、前記複数のメモリのうち前記ビジー信号が前記エラー訂正コードの生成中である旨を示しているものの前記優先度を高く設定する
請求項1記載のメモリコントローラ。 - 前記メモリライト制御部は、
前記エラー訂正コードが生成された前記ライトデータを保持するデータバッファと、
前記複数のメモリのそれぞれに対する前記ライトデータについて前記エラー訂正コードの生成が完了して前記データバッファに準備されているか否かを示すレディ信号を前記データ処理状態として生成するレディ信号生成部とをさらに備え、
前記メモリリード制御部は、前記複数のメモリのうち前記エラー訂正コードが生成完了している旨を前記レディ信号が示しているものの前記優先度を低く設定する
請求項2記載のメモリコントローラ。 - 前記メモリリード制御部は、
前記コンピュータからのリードコマンドを保持するコマンドキューと、
前記複数のメモリのそれぞれについて前記ライトリクエストに係るライトデータの前記メモリライト制御部における前記データ処理状態に応じた前記優先度を設定してその優先度に従って前記コマンドキューから前記複数のメモリのいずれかに対するリードコマンドを選択するリードコマンド選択部と、
前記選択されたリードコマンドに基づいて前記複数のメモリのいずれかに対してリードリクエストおよびアドレスを生成して送信するメモリリクエストアドレス送信部とを備える
請求項1記載のメモリコントローラ。 - 複数のメモリと、
コンピュータからのライトコマンドに基づいて前記複数のメモリのいずれかに対するライトリクエストを生成するメモリライト制御部と、
前記ライトリクエストに係るライトデータの前記メモリライト制御部におけるデータ処理状態に応じた優先度によって前記複数のメモリのいずれかに対するリードリクエストを前記コンピュータからのリードコマンドに基づいて生成するメモリリード制御部と
を具備するメモリシステム。 - 複数のメモリと、
コンピュータと、
前記コンピュータからのライトコマンドに基づいて前記複数のメモリのいずれかに対するライトリクエストを生成するメモリライト制御部と、
前記ライトリクエストに係るライトデータの前記メモリライト制御部におけるデータ処理状態に応じた優先度によって前記複数のメモリのいずれかに対するリードリクエストを前記コンピュータからのリードコマンドに基づいて生成するメモリリード制御部と
を具備する情報処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016129012 | 2016-06-29 | ||
JP2016129012 | 2016-06-29 | ||
PCT/JP2017/015412 WO2018003244A1 (ja) | 2016-06-29 | 2017-04-17 | メモリコントローラ、メモリシステムおよび情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018003244A1 true JPWO2018003244A1 (ja) | 2019-04-18 |
JP6992750B2 JP6992750B2 (ja) | 2022-01-13 |
Family
ID=60785333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018524909A Active JP6992750B2 (ja) | 2016-06-29 | 2017-04-17 | メモリコントローラ、メモリシステムおよび情報処理システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11029881B2 (ja) |
JP (1) | JP6992750B2 (ja) |
WO (1) | WO2018003244A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11556420B2 (en) * | 2021-04-06 | 2023-01-17 | Macronix International Co., Ltd. | Managing error correction coding in memory systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000067574A (ja) * | 1998-08-21 | 2000-03-03 | Mitsubishi Electric Corp | 半導体記憶装置 |
US20030217239A1 (en) * | 2002-05-14 | 2003-11-20 | Jeddeloh Joseph M. | Out of order DRAM sequencer |
WO2013014841A1 (ja) * | 2011-07-22 | 2013-01-31 | パナソニック株式会社 | データ処理装置およびデータ処理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014154119A (ja) | 2013-02-14 | 2014-08-25 | Ricoh Co Ltd | メモリ制御装置及び半導体記憶装置 |
US9442662B2 (en) * | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
-
2017
- 2017-04-17 US US16/311,100 patent/US11029881B2/en active Active
- 2017-04-17 WO PCT/JP2017/015412 patent/WO2018003244A1/ja active Application Filing
- 2017-04-17 JP JP2018524909A patent/JP6992750B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000067574A (ja) * | 1998-08-21 | 2000-03-03 | Mitsubishi Electric Corp | 半導体記憶装置 |
US6272052B1 (en) * | 1998-08-21 | 2001-08-07 | Mitsubishi Denki Kabushiki Kaisha | Block-erase type semiconductor storage device with independent memory groups having sequential logical addresses |
US20030217239A1 (en) * | 2002-05-14 | 2003-11-20 | Jeddeloh Joseph M. | Out of order DRAM sequencer |
WO2003098392A2 (en) * | 2002-05-14 | 2003-11-27 | Micron Technology, Inc. | Out of order dram sequencer |
JP2005525652A (ja) * | 2002-05-14 | 2005-08-25 | マイクロン テクノロジー インコーポレイテッド | アウトオブオーダdramシーケンサ |
WO2013014841A1 (ja) * | 2011-07-22 | 2013-01-31 | パナソニック株式会社 | データ処理装置およびデータ処理方法 |
US20140136743A1 (en) * | 2011-07-22 | 2014-05-15 | Panasonic Corporation | Data processing device and data processing method |
Also Published As
Publication number | Publication date |
---|---|
JP6992750B2 (ja) | 2022-01-13 |
WO2018003244A1 (ja) | 2018-01-04 |
US11029881B2 (en) | 2021-06-08 |
US20200310681A1 (en) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4748610B2 (ja) | 取り出されたデータをメモリに直接に書き込むストレージコントローラによるバッファスペースの最適な使用 | |
US20150006794A1 (en) | Apparatus and method for controlling multi-way nand flashes by using input-output pins | |
KR20160013351A (ko) | 데이터 저장 장치 및 그것의 데이터 처리 방법 | |
US8429337B2 (en) | Apparatus for controlling NAND flash memory | |
US9304952B2 (en) | Memory control device, storage device, and memory control method | |
US20150253992A1 (en) | Memory system and control method | |
JP2020524859A (ja) | メモリアクセス技術およびコンピュータシステム | |
US20170160952A1 (en) | Memory controller, memory system, and information processing system | |
US20150149741A1 (en) | Storage System and Control Method Thereof | |
TWI685744B (zh) | 指令處理方法及使用所述方法的儲存控制器 | |
JP2008009817A (ja) | 半導体装置及びデータ転送方法 | |
JP2010176442A (ja) | ディスクリプタ転送装置、i/oコントローラ、及びディスクリプタ転送方法 | |
CN110716691A (zh) | 调度方法、装置、闪存设备和*** | |
CN113485643B (zh) | 用于数据存取的方法及数据写入的控制器 | |
TWI474254B (zh) | 用於在一記憶體系統中執行命令的方法與裝置及資料儲存系統 | |
US11307798B2 (en) | Storage device and method for performing macro command | |
JP6992750B2 (ja) | メモリコントローラ、メモリシステムおよび情報処理システム | |
JP6004463B2 (ja) | 記憶装置及びその制御方法 | |
US8117351B1 (en) | Serial parallel interface for data word architecture | |
TWI747660B (zh) | 多閃存晶片的資料讀取方法及裝置以及電腦程式產品 | |
JP3747213B1 (ja) | シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ | |
JP2005258509A (ja) | ストレージ装置 | |
WO2017073127A1 (ja) | メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 | |
US6829692B2 (en) | System and method for providing data to multi-function memory | |
CN110764710A (zh) | 低延迟高iops的数据访问方法与存储*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211026 |
|
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: 20211109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211122 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6992750 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |