JP2019191863A - 記憶装置,情報処理プログラムおよび情報処理システム - Google Patents
記憶装置,情報処理プログラムおよび情報処理システム Download PDFInfo
- Publication number
- JP2019191863A JP2019191863A JP2018083044A JP2018083044A JP2019191863A JP 2019191863 A JP2019191863 A JP 2019191863A JP 2018083044 A JP2018083044 A JP 2018083044A JP 2018083044 A JP2018083044 A JP 2018083044A JP 2019191863 A JP2019191863 A JP 2019191863A
- Authority
- JP
- Japan
- Prior art keywords
- command
- information
- flash memory
- calculation
- storage device
- 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
- 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
- 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
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/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/7202—Allocation control and policies
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
Description
図1は実施形態の一例としてのソフトウェア定義型SSD10を備える情報処理システム1の構成を例示する図である。
図1に示す情報処理システム1は、ホスト装置2およびソフトウェア定義型SSD10を備え、ビッグデータ処理、データベースアプライアンス、ストレージシステム等の様々な技術に適用することができる。
ホスト装置2は、例えばサーバ機能を備えた情報処理装置であり、CPU20および記憶装置23を備え、ソフトウェア定義型SSD10に通信可能に接続される。
ソフトウェア定義型SSD10は、フラッシュメモリコントローラ100および1つ以上(図1に示す例では4つ)のフラッシュメモリ104−1〜104−4を備える。以下、ソフトウェア定義型SSD10を単にSSD10という場合がある。
例えば、ホスト装置2から読み出し命令を受信した場合、ホストI/F101は、データの転送先に指定した読み出し命令を、アクセス先のフラッシュメモリ104に対応するフラッシュメモリI/F103へ出力する。ホストI/F101は、フラッシュメモリI/F103から受信したデータをホスト装置2へ転送する。
(0,0,0,0), (0,0,0,1), ..., (0,0,0,255)
(1,0,0,0), (1,0,0,1), ..., (1,0,0,255)
(2,0,0,0), (2,0,0,1), ..., (2,0,0,255)
(3,0,0,0), (3,0,0,1), ..., (3,0,0,255)
上述の如く構成された実施形態の一例としての情報処理システム1のSSD10における演算処理時の各部の処理の概要を、図3に示すシーケンス図に従って説明する。
このように、実施形態の一例としての情報処理システム1によれば、SSD10のフラッシュメモリコントローラ100が演算コマンド処理部112を備え、ホスト装置2から発行される範囲指定演算コマンドに基づき、複数のページ単位読み出しコマンドを作成する。
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
以上の実施形態に関し、さらに以下の付記を開示する。
半導体メモリと、
前記半導体メモリを制御するメモリコントローラとを備え、
前記メモリコントローラが、
論理アドレスを複数の物理アドレスに変換する情報を備え、
演算コマンドを受信すると、前記情報に基づいて、前記演算コマンドを複数のコマンドに分割する
ことを特徴とする、記憶装置。
前記メモリコントローラが、
論理アドレスを用いて前記半導体メモリにおけるアクセス先を指定する1つの第1演算コマンドに基づき、データアクセスサイズ単位で前記半導体メモリにおけるアクセス先を指定する複数の第2演算コマンドを作成し、
前記第2演算コマンドに従って、前記半導体メモリが記憶するデータをデータアクセスサイズ単位で処理する
ことを特徴とする、付記1記載の記憶装置。
前記メモリコントローラが、前記情報を前記演算コマンドの送信元装置から受信する
ことを特徴とする、付記1または2記載の記憶装置。
前記メモリコントローラが、前記演算コマンドの実行に先だって、当該演算コマンドの処理に用いられる部分の前記情報を前記演算コマンドの送信元装置から受信する
ことを特徴とする、付記3記載の記憶装置。
半導体メモリと、
前記半導体メモリを制御するメモリコントローラとを備える記憶装置において、
前記メモリコントローラのプロセッサに、
論理アドレスを複数の物理アドレスに変換する情報を記憶し、
演算コマンドを受信すると、前記情報に基づいて、前記演算コマンドを複数のコマンドに分割する
処理を実行させる、情報処理プログラム。
前記プロセッサに、
論理アドレスを用いて前記半導体メモリにおけるアクセス先を指定する1つの第1演算コマンドに基づき、データアクセスサイズ単位で前記半導体メモリにおけるアクセス先を指定する複数の第2演算コマンドを作成し、
前記第2演算コマンドに従って、前記半導体メモリが記憶するデータをデータアクセスサイズ単位で処理する
処理を実行させる、付記5記載の情報処理プログラム。
前記プロセッサに、前記情報を前記演算コマンドの送信元装置から受信する
処理を実行させる、付記5または6記載の情報処理プログラム。
前記プロセッサに、前記演算コマンドの実行に先だって、当該演算コマンドの処理に用いられる部分の前記情報を前記演算コマンドの送信元装置から受信する
処理を実行させる、付記7記載の情報処理プログラム。
情報処理装置と、
前記情報処理装置と通信可能に接続され、半導体メモリと、前記半導体メモリを制御するメモリコントローラとを備える記憶装置と
を備える情報処理システムであって、
前記情報処理装置が、前記記憶装置に対して演算コマンドを発行し、
前記記憶装置において、前記メモリコントローラが、
論理アドレスを複数の物理アドレスに変換する情報を備え、
前記情報処理装置から前記演算コマンドを受信すると、前記情報に基づいて、前記演算コマンドを複数のコマンドに分割する
ことを特徴とする、情報処理システム。
前記情報処理装置が、前記記憶装置に対して、論理アドレスを用いて前記半導体メモリにおけるアクセス先を指定する1つの第1演算コマンドを発行し、
前記記憶装置において、前記メモリコントローラが、
前記第1演算コマンドに基づき、データアクセスサイズ単位で前記半導体メモリにおけるアクセス先を指定する複数の第2演算コマンドを作成し、
前記第2演算コマンドに従って、前記半導体メモリが記憶するデータをデータアクセスサイズ単位で処理する
ことを特徴とする、付記9記載の情報処理システム。
前記情報処理装置が、前記情報を格納し、前記情報を前記記憶装置に送信する
ことを特徴とする、付記9または10記載の情報処理システム。
前記情報処理装置が、前記演算コマンドの発行に先だって、格納した前記情報のうち、当該演算コマンドの処理に用いられる部分を前記記憶装置に送信する
ことを特徴とする、付記11記載の情報処理システム。
2 ホスト装置
21 アプリケーション
22 ライブラリ
10 SSD
11 プロセッサ
100 フラッシュメモリコントローラ
101 ホストインタフェース(I/F)
102−1,102−2,102 演算部
103−1,103−2,103 フラッシュメモリインタフェース(I/F)
104−1〜104−4,104 フラッシュメモリ
111 変換情報
112 演算コマンド処理部
Claims (6)
- 半導体メモリと、
前記半導体メモリを制御するメモリコントローラとを備え、
前記メモリコントローラが、
論理アドレスを複数の物理アドレスに変換する情報を備え、
演算コマンドを受信すると、前記情報に基づいて、前記演算コマンドを複数のコマンドに分割する
ことを特徴とする、記憶装置 - 前記メモリコントローラが、
論理アドレスを用いて前記半導体メモリにおけるアクセス先を指定する1つの第1演算コマンドに基づき、データアクセスサイズ単位で前記半導体メモリにおけるアクセス先を指定する複数の第2演算コマンドを作成し、
前記第2演算コマンドに従って、前記半導体メモリが記憶するデータをデータアクセスサイズ単位で処理する
ことを特徴とする、請求項1記載の記憶装置。 - 前記メモリコントローラが、前記情報を前記演算コマンドの送信元装置から受信する
ことを特徴とする、請求項1または2記載の記憶装置。 - 前記メモリコントローラが、前記演算コマンドの実行に先だって、当該演算コマンドの処理に用いられる部分の前記情報を前記演算コマンドの送信元装置から受信する
ことを特徴とする、請求項3記載の記憶装置。 - 半導体メモリと、
前記半導体メモリを制御するメモリコントローラとを備える記憶装置において、
前記メモリコントローラのプロセッサに、
論理アドレスを複数の物理アドレスに変換する情報を記憶し、
演算コマンドを受信すると、前記情報に基づいて、前記演算コマンドを複数のコマンドに分割する
処理を実行させる、情報処理プログラム。 - 情報処理装置と、
前記情報処理装置と通信可能に接続され、半導体メモリと、前記半導体メモリを制御するメモリコントローラとを備える記憶装置と
を備える情報処理システムであって、
前記情報処理装置が、前記記憶装置に対して演算コマンドを発行し、
前記記憶装置において、前記メモリコントローラが、
論理アドレスを複数の物理アドレスに変換する情報を備え、
前記情報処理装置から前記演算コマンドを受信すると、前記情報に基づいて、前記演算コマンドを複数のコマンドに分割する
ことを特徴とする、情報処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018083044A JP7131053B2 (ja) | 2018-04-24 | 2018-04-24 | 記憶装置,情報処理プログラムおよび情報処理システム |
US16/368,935 US11074012B2 (en) | 2018-04-24 | 2019-03-29 | Storage device, information processing system, and non-transitory computer-readable storage medium for storing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018083044A JP7131053B2 (ja) | 2018-04-24 | 2018-04-24 | 記憶装置,情報処理プログラムおよび情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019191863A true JP2019191863A (ja) | 2019-10-31 |
JP7131053B2 JP7131053B2 (ja) | 2022-09-06 |
Family
ID=68237877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018083044A Active JP7131053B2 (ja) | 2018-04-24 | 2018-04-24 | 記憶装置,情報処理プログラムおよび情報処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11074012B2 (ja) |
JP (1) | JP7131053B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10901733B1 (en) * | 2019-07-01 | 2021-01-26 | Western Digital Technologies, Inc. | Open channel vector command execution |
US10901624B1 (en) | 2019-07-01 | 2021-01-26 | Western Digital Technologies, Inc. | Dummy host command generation for supporting higher maximum data transfer sizes (MDTS) |
US11934684B2 (en) | 2021-12-14 | 2024-03-19 | Western Digital Technologies, Inc. | Maximum data transfer size per tenant and command type |
KR20230092227A (ko) | 2021-12-17 | 2023-06-26 | 삼성전자주식회사 | 멀티코어 프로세서 및 스토리지 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010160605A (ja) * | 2009-01-07 | 2010-07-22 | Panasonic Corp | 半導体記憶装置、ホスト機器及び半導体記憶システム |
JP2012108912A (ja) * | 2010-11-15 | 2012-06-07 | Samsung Electronics Co Ltd | データ格納装置、使用者装置及びそれの住所マッピング方法 |
WO2015162752A1 (ja) * | 2014-04-24 | 2015-10-29 | 株式会社日立製作所 | データベース演算部を備えるフラッシュモジュール、及びストレージ装置 |
WO2016135874A1 (ja) * | 2015-02-25 | 2016-09-01 | 株式会社日立製作所 | 計算機及びデータベースの管理方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003203486A (ja) | 2002-01-08 | 2003-07-18 | Seiko Epson Corp | 半導体記憶装置及びその制御方法 |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US8924631B2 (en) * | 2011-09-15 | 2014-12-30 | Sandisk Technologies Inc. | Method and system for random write unalignment handling |
US20150378886A1 (en) * | 2013-04-08 | 2015-12-31 | Avalanche Technology, Inc. | Software-defined ssd and system using the same |
JP6160294B2 (ja) | 2013-06-24 | 2017-07-12 | 富士通株式会社 | ストレージシステム、ストレージ装置及びストレージシステムの制御方法 |
US8819335B1 (en) * | 2013-08-30 | 2014-08-26 | NXGN Data, Inc. | System and method for executing map-reduce tasks in a storage device |
US9053790B1 (en) * | 2014-07-01 | 2015-06-09 | Sandisk Technologies Inc. | Counter for write operations at a data storage device |
JP6306737B2 (ja) * | 2014-11-04 | 2018-04-04 | 株式会社日立製作所 | 半導体メモリデバイス、及び、半導体メモリデバイスを有するストレージ装置 |
KR102398611B1 (ko) * | 2015-05-07 | 2022-05-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
JP6790515B2 (ja) | 2016-07-05 | 2020-11-25 | 富士通株式会社 | ソリッドステートドライブ |
US9965356B2 (en) * | 2016-09-02 | 2018-05-08 | Alibaba Group Holding Limited | Method and system of high-availability PCIE SSD with software-hardware jointly assisted implementation to enhance immunity on multi-cell upset |
KR102618699B1 (ko) * | 2016-09-28 | 2024-01-02 | 삼성전자주식회사 | 호스트에 의해 제어되는 스토리지 장치를 포함하는 컴퓨팅 시스템 |
US10242704B2 (en) * | 2017-08-08 | 2019-03-26 | Western Digital Technologies, Inc. | Command clustering for data storage device |
-
2018
- 2018-04-24 JP JP2018083044A patent/JP7131053B2/ja active Active
-
2019
- 2019-03-29 US US16/368,935 patent/US11074012B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010160605A (ja) * | 2009-01-07 | 2010-07-22 | Panasonic Corp | 半導体記憶装置、ホスト機器及び半導体記憶システム |
JP2012108912A (ja) * | 2010-11-15 | 2012-06-07 | Samsung Electronics Co Ltd | データ格納装置、使用者装置及びそれの住所マッピング方法 |
WO2015162752A1 (ja) * | 2014-04-24 | 2015-10-29 | 株式会社日立製作所 | データベース演算部を備えるフラッシュモジュール、及びストレージ装置 |
WO2016135874A1 (ja) * | 2015-02-25 | 2016-09-01 | 株式会社日立製作所 | 計算機及びデータベースの管理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP7131053B2 (ja) | 2022-09-06 |
US20190324692A1 (en) | 2019-10-24 |
US11074012B2 (en) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11989160B2 (en) | Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device | |
US10289304B2 (en) | Physical address management in solid state memory by tracking pending reads therefrom | |
JP5431453B2 (ja) | 記憶要求を追加データ記憶コマンドに変換するための装置、システム及び方法 | |
CN107003935B (zh) | 用于优化数据库去重的装置、方法和计算机介质 | |
JP5603997B2 (ja) | ストレージ装置及びデータ制御方法 | |
JP4975396B2 (ja) | 記憶制御装置及び記憶制御方法 | |
JP7131053B2 (ja) | 記憶装置,情報処理プログラムおよび情報処理システム | |
TWI531963B (zh) | Data storage systems and their specific instruction enforcement methods | |
JP2011521315A (ja) | マルチプロセッサ/マルチスレッド環境における記憶要求を調整するための装置、システム及び方法 | |
JP2011518380A (ja) | 仮想アドレス及び物理アドレスを効率的にマッピングするための装置、システム及び方法 | |
KR20090032821A (ko) | 하드디스크 드라이브의 선반입 방법, 이에 적합한 기록매체 그리고 이에 적합한 장치 | |
JP7054001B2 (ja) | 情報処理システム、管理装置および制御方法 | |
JP6558059B2 (ja) | ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム | |
US20160246587A1 (en) | Storage control device | |
US11003577B2 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program of access control with respect to semiconductor device memory | |
US20200310668A1 (en) | Methods and systems of efficiently storing data | |
JP5531476B2 (ja) | 情報処理装置及び情報処理プログラム | |
KR20190048453A (ko) | 저장 장치 및 메모리 시스템 | |
JP2006251990A (ja) | データベース再編成プログラムおよびデータベース再編成方法 | |
US11256435B2 (en) | Method and apparatus for performing data-accessing management in a storage server | |
JP2014225297A (ja) | フラッシュメモリモジュール及びストレージ装置 | |
KR102673715B1 (ko) | 호스트 커널에 부착되는 솔리드 스테이트 드라이브의 데이터 제어 시스템 및 방법 | |
JP4466530B2 (ja) | ディスクアレイ装置及び論理アドレス制御方法並びにプログラム | |
JP2020052852A (ja) | ストレージ及び情報処理システム。 | |
JP2004355040A (ja) | ディスク制御装置およびデータ先読み方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190607 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220304 |
|
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: 20220726 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7131053 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |