JP2022143959A - メモリシステム、方法及びデータ処理システム - Google Patents
メモリシステム、方法及びデータ処理システム Download PDFInfo
- Publication number
- JP2022143959A JP2022143959A JP2021044768A JP2021044768A JP2022143959A JP 2022143959 A JP2022143959 A JP 2022143959A JP 2021044768 A JP2021044768 A JP 2021044768A JP 2021044768 A JP2021044768 A JP 2021044768A JP 2022143959 A JP2022143959 A JP 2022143959A
- Authority
- JP
- Japan
- Prior art keywords
- css
- data
- information
- data processing
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 127
- 238000000034 method Methods 0.000 title claims abstract description 114
- 230000008569 process Effects 0.000 claims abstract description 57
- 230000004044 response Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000004913 activation Effects 0.000 description 45
- 238000003860 storage Methods 0.000 description 40
- 238000005192 partition Methods 0.000 description 38
- 238000012546 transfer Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 11
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 8
- 230000009849 deactivation Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 101001041669 Oryctolagus cuniculus Corticostatin 1 Proteins 0.000 description 3
- 235000012174 carbonated soft drink Nutrition 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- KNXQDJCZSVHEIW-UHFFFAOYSA-N (3-fluorophenyl)boronic acid Chemical compound OB(O)C1=CC=CC(F)=C1 KNXQDJCZSVHEIW-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Memory System (AREA)
Abstract
Description
CSx:Computational Storage Device(ハードウェアに関する構成)
CSS:Computational Storage Services(ソフトウェアに関する構成)
CSxの配置形態としては、1つ又は複数のストレージを統括するプロセッサをストレージの外部に配置し、ホストCPUを当該プロセッサと接続するというタイプのもの(Computational Storage Processor)や、ストレージの中にCSS実行のためのプロセッサを配置するタイプのもの(Computational Storage Device:CSD)、CSDを多数集めたもの(Computational Storage Array:CSA)等、さまざまなものがある。
(1)FCSS(Fixed Computational Storage Service):デバイス内に固定的に定義づけされたサービスを指す。FCSSの例は、Compression、RAID、Erasure Coding、Encryption等がある。
(2)PCSS(Programmable Computational Storage Service):ホストによるプログラミングが可能なサービスを指す。ホストがプログラムを作成して、ストレージはプログラムをダウンロードする。PCSSの例は、FPGA Bitstream、BPF、Container、OSローダー等がある。
管理(Management):discovery、configuration、又はmonitoring
セキュリティ(Security):authentication、autorization、encryption、又はauditing
操作(Operation):CSxのデータストアと取り出しの機構に関する定義又はホストからCSxへの作用に関する定義。
第1実施形態は、ライトコマンドやリードコマンド等のioコマンドはCSSの起動又は停止を指定するオン情報又はオフ情報を含む新規なCSフラグを含むトランスペアレントオペレーション方式のCSを提案する。
write()
if(CSS=on)
start(write_prog);
wait(return);
}
ファームウェア36は、ファームウェア36bも含む。ファームウェア36bは、リードコマンドのCSフラグをチェックし、CSフラグがCSS46の起動を指定するオン情報を含む場合、リードコマンド連動のCSSを起動するような判断処理を実行するプログラムである。ファームウェア36bの一例を以下に示す。
read()
if(CSS=on)
start(read_prog);
wait(return);
}
CSS46は、CS30内に予め組み込まれたプログラムであってもよいし、ホスト10が予め作成し、ホスト10からのCSSロードコマンドを実行することによりCS30がロードしたプログラムであってもよい。
第1実施形態では、ライトコマンドに連動するプログラムは1個のCSS46(write_prog)であり、リードコマンドに連動するプログラムは1個のCSS46(read_prog)である。次に、CS30は、ioコマンドに連動する複数のプログラム(CSS46)のいずれかを選択的に実行可能であり、CSフラグは起動するコマンド連動プログラムを選択する情報も含む第2実施形態を説明する。
write()
if(CSS=on)
start(slot_no);
wait(return);
}
ファームウェア36dは、リードコマンドRのCSフラグをチェックし、CSフラグがCSS46の起動を指定するオン情報を含む場合、スロット識別子により識別されるioコマンド連動プログラムを起動するプログラムである。ファームウェア36dの一例を以下に示す。
read()
if(CSS=on)
start(slot_no);
wait(return);
}
第2実施形態でも、ホスト10は、ioキュー22にライトコマンドWやリードコマンドRを投入する前に、adminキュー24にCSSロードコマンドLを投入する。CS30がCSSロードコマンドLを実行することにより、ライトコマンド連動の複数のプログラムやリードコマンド連動の複数のプログラムがホスト10からCS30の各スロットにロードされる。
第1実施形態及び第2実施形態では、CSS46によるデータ処理の内容は固定である。これに対して、ホスト10がCSS46にCSパラメータを渡し、データ処理においてCSパラメータを参照可能であり、CSパラメータによりデータ処理の内容が可変である第3実施形態を説明する。CSパラメータの例は、データ処理の種類(暗号化方式や、暗号鍵)である。
write()
if(CSS=on)
start(write_prog,cpm_addr);
wait(return);
}
ファームウェア36fは、リードコマンドRのCSフラグをチェックし、CSフラグがCSS46の起動を指定するオン情報を含む場合、CSパラメータを参照するプログラムである。ファームウェア36fの一例を以下に示す。
read()
if(CSS=on)
start(read_prog,cpm_addr);
wait(return);
}
第3実施形態でも、ホスト10は、ライトコマンドWやリードコマンドRを投入の事前に、adminキュー24にCSSロードコマンドLを投入する。CS30がCSSロードコマンドLを実行することにより、ライトコマンド連動のプログラムwrite_progやリードコマンド連動のプログラムread_progがホスト10からCS30にロードされる。
図9-図12を参照した第3実施形態は、第1実施形態の変形例(第1実施形態のCSフラグにCSパラメータ選択機能を付加)として実現したが、第2実施形態のCSフラグにCSパラメータ選択機能を付加した第4実施形態を説明する。
write()
if(CSS=on)
start(slot_no,cpm_addr);
wait(return);
}
図13(b)は、ホストがリードコマンドを発行した時のioキュー22の一例を示す。ホスト10は、ioキュー22に転送コマンドTx(cpm_addr0)又はTx(cpm_addr1)を投入する。その後、ホスト10は、ioキュー22にCSフラグ付きのリードコマンドR(on,slot0,cpm_addr0)又はR(on,slot1,cpm_addr1)を投入する。リードコマンドR(on,slot_no,cpm_addr)は、スロットに対応するCSS46の起動を指定し、起動したCSS46はCPM44の領域cpmに格納されているCSパラメータを使用してデータ処理をすることを指定する。
read()
if(CSS=on)
start(slot_no,cpm_addr);
wait(return);
}
第4実施形態では、ライトコマンドW又はリードコマンドRのCSフラグは、CSS46の起動又は停止を指定するオン情報又はオフ情報と、起動するCSS46に対応するスロットを指定するためのスロット識別子slot_noと、CSパラメータの格納領域を示す領域識別子cpm_addrと、を含む。
CSS46の処理、特にリード動作の処理は、CS付属情報を必要とすることがある。CS付属情報の例は、どのデータをどの誤り訂正符号により符号化したかを示す情報、どのデータをどの暗号鍵により暗号化したかを示す情報、又はどのデータをどのように圧縮したかを示す情報である。CSS46は、ライト時に、条件によって、誤り訂正符号、暗号鍵、圧縮方法を変えることがある。条件はデータの中身に関する条件のこともある。例えば、CSS46は、特定の文字列が含まれているファイルを暗号鍵Aにより暗号化し、特定の文字列が含まれていないファイルを暗号鍵Bにより暗号化することがある。この場合、暗号化されたファイルでは、特定の文字列も暗号化されているので、リード時にCSS46は、特定の文字列が含まれているか否かを暗号化ファイルから判断することができない。この場合、どのデータをどの暗号鍵により暗号化したかを示すCS付属情報があれば、CSS46は、読み出したデータを正しく復号することができる。
第4実施形態におけるホスト10のCPU12のプログラムフローとCS30のプログラムフローを第6実施形態として説明する。
第5実施形態におけるホスト10のCPU12のプログラムフローとCS30のCSS46のプログラムフローを第7実施形態として説明する。
本実施形態では、第5実施形態の第3変形例のCS30を用いた場合の、ホスト10のCPU12のプログラムフローとCS30のCSS46のプログラムフローを第8実施形態として説明する。
Claims (8)
- 不揮発性メモリと、
外部装置から受信したコマンドで指定されたデータを前記不揮発性メモリへ書き込む第1処理、又は前記外部装置から受信したコマンドで指定されたデータを前記不揮発性メモリから読み出し、読み出したデータを前記外部装置へ送信する第2処理を含むデータ処理を制御するコントローラと、を具備し、
前記コントローラは、前記コマンドに含まれる情報に応じて前記データ処理を実行するか否かを決定するプロセッサを具備する、メモリシステム。 - 前記コマンドは、前記プロセッサに前記データ処理を実行させること、又は前記プロセッサに前記データ処理を実行させないことを示す第1情報を含む、請求項1記載のメモリシステム。
- 前記プロセッサは、複数の前記データ処理を実行可能であり、
前記コマンドは、前記複数の前記データ処理の中のあるデータ処理を指定する第2情報を含み、
前記プロセッサは、前記第2情報により指定された前記あるデータ処理を実行する、請求項1記載のメモリシステム。 - 前記コマンドは、前記データ処理に関する複数のパラメータの中のあるパラメータを指定する第3情報を含み、
前記プロセッサは、前記第3情報により指定された前記あるパラメータを使用して前記データ処理を実行する、請求項1記載のメモリシステム。 - 前記プロセッサは、複数の前記データ処理を実行可能であり、
前記複数の前記データ処理は、それぞれに関する複数のパラメータの中の一つのパラメータを使用し、
前記コマンドは、前記プロセッサに前記複数の前記データ処理を実行させること、又は前記プロセッサに前記データ処理を実行させないことを示す第1情報と、前記複数の前記データ処理の中のあるデータ処理を指定する第2情報と、前記あるデータ処理に関するパラメータを指定する第3情報を含み、
前記プロセッサは、前記第1情報が前記プロセッサに前記データ処理を実行させることを示す場合、前記第2情報が指定する前記あるデータ処理を前記第3情報により指定された前記パラメータを使用して実行する、請求項1記載のメモリシステム。 - 前記プロセッサは、前記データ処理に関する付属情報に基づいて前記データ処理を実行し、
前記プロセッサは、前記データとともに前記付属情報を前記不揮発性メモリに書き込み、前記データとともに前記付属情報を前記不揮発性メモリから読み出す、請求項1、請求項2、請求項3、請求項4又は請求項5記載のメモリシステム。 - ホストと、
前記ホストに接続されるメモリシステムと、
を具備するデータ処理システムであって、
前記メモリシステムは、
不揮発性メモリと、
前記ホストから受信したコマンドで指定されたデータ前記不揮発性メモリへ書き込む第1処理、又は前記ホストから受信したコマンドで指定されたデータを前記不揮発性メモリから読み出し、読み出したデータを前記ホストへ送信する第2処理を含むデータ処理を制御するコントローラと、
を具備し、
前記コントローラは、前記コマンドに含まれる情報に応じて前記データ処理を実行するか否かを決定するプロセッサを具備する、データ処理システム。 - 不揮発性メモリを具備するメモリシステムにおける方法であって、
フラグ情報が付加されたコマンドを外部装置から受信し、
前記フラグ情報に基づいて、前記外部装置から受信したコマンドで指定されたデータを前記不揮発性メモリへ書き込む第1処理、又は前記外部装置から受信したコマンドで指定されたデータを前記不揮発性メモリから読み出し、読み出したデータを前記外部装置へ送信する第2処理を含むデータ処理を実行するか否かを決定する、方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021044768A JP7566674B2 (ja) | 2021-03-18 | 2021-03-18 | メモリシステム、方法及びデータ処理システム |
US17/473,437 US11853604B2 (en) | 2021-03-18 | 2021-09-13 | Computational storage device, method, and data processing system executing operation in accordance with information in command |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021044768A JP7566674B2 (ja) | 2021-03-18 | 2021-03-18 | メモリシステム、方法及びデータ処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022143959A true JP2022143959A (ja) | 2022-10-03 |
JP7566674B2 JP7566674B2 (ja) | 2024-10-15 |
Family
ID=83284742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021044768A Active JP7566674B2 (ja) | 2021-03-18 | 2021-03-18 | メモリシステム、方法及びデータ処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11853604B2 (ja) |
JP (1) | JP7566674B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11966343B2 (en) * | 2021-07-19 | 2024-04-23 | Samsung Electronics Co., Ltd. | Universal mechanism to access and control a computational device |
US11947834B2 (en) | 2022-07-15 | 2024-04-02 | Micron Technology, Inc. | Data storage devices with reduced buffering for storage access messages |
US11983434B2 (en) * | 2022-07-15 | 2024-05-14 | Micron Technology, Inc. | Network-ready storage products with computational storage processors |
US11853819B1 (en) * | 2022-07-15 | 2023-12-26 | Micron Technology, Inc. | Message queues in network-ready storage products having computational storage processors |
US12050945B2 (en) | 2022-07-15 | 2024-07-30 | Micron Technology, Inc. | Storage products with connectors to operate external network interfaces |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2737391A1 (en) | 2011-12-08 | 2014-06-04 | Hitachi, Ltd. | Remote copy system and remote copy control method |
US20130275652A1 (en) * | 2012-04-13 | 2013-10-17 | Lsi Corporation | Methods and structure for transferring additional parameters through a communication interface with limited parameter passing features |
JP6204044B2 (ja) | 2013-03-29 | 2017-09-27 | 株式会社メガチップス | 不揮発性記憶システム、不揮発性記憶装置、および、メモリコントローラ |
US10466907B2 (en) * | 2016-03-22 | 2019-11-05 | Toshiba Memory Corporation | Method to efficiently store object data of an object storage service on a magnetic disk drive and magnetic SMR disk drive |
JP6553566B2 (ja) | 2016-09-23 | 2019-07-31 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP6429963B2 (ja) | 2017-09-14 | 2018-11-28 | 株式会社日立製作所 | ストレージ装置及びストレージ装置の制御方法 |
US10719474B2 (en) | 2017-10-11 | 2020-07-21 | Samsung Electronics Co., Ltd. | System and method for providing in-storage acceleration (ISA) in data storage devices |
US10719462B2 (en) * | 2018-09-25 | 2020-07-21 | Intel Corporation | Technologies for computational storage via offload kernel extensions |
US11204819B2 (en) | 2018-12-21 | 2021-12-21 | Samsung Electronics Co., Ltd. | System and method for offloading application functions to a device |
WO2020186081A1 (en) * | 2019-03-12 | 2020-09-17 | Intel Corporation | Computational data storage systems |
JP6942748B2 (ja) | 2019-03-19 | 2021-09-29 | 株式会社日立製作所 | 分散ストレージシステム、データ管理方法、及びデータ管理プログラム |
EP3816781A1 (en) * | 2019-10-30 | 2021-05-05 | Sunlight.io Limited | Storage area network controller |
US11687365B2 (en) * | 2020-12-21 | 2023-06-27 | Eidetic Communications Inc. | Method and apparatus for controlling a computational storage processor |
US11449440B2 (en) * | 2021-01-19 | 2022-09-20 | EMC IP Holding Company LLC | Data copy offload command support across multiple storage access protocols |
-
2021
- 2021-03-18 JP JP2021044768A patent/JP7566674B2/ja active Active
- 2021-09-13 US US17/473,437 patent/US11853604B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11853604B2 (en) | 2023-12-26 |
US20220300207A1 (en) | 2022-09-22 |
JP7566674B2 (ja) | 2024-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022143959A (ja) | メモリシステム、方法及びデータ処理システム | |
US20060253620A1 (en) | Data structure of flash memory having system area with variable size in which data can be updated, USB memory device having the flash memory, and method of controlling the system area | |
EP2568408B1 (en) | Information processing device, information processing method, and program distribution system | |
WO2005050453A1 (ja) | ファイル記録装置 | |
US8250245B2 (en) | Information processing system, with information processing terminal capable of operating in multiple operation modes when connected to a host device | |
US20080195816A1 (en) | Memory card authentication system, memory card host device, memory card, storage area switching method, and storage area switching program | |
US11733868B2 (en) | Dynamic processing of storage command based on internal operations of storage system | |
CN101390063A (zh) | Fat卷上基于文件的压缩 | |
JPWO2006120938A1 (ja) | メモリカード、アプリケーションプログラム保持方法、及び保持プログラム | |
JP2003162433A (ja) | メモリシステム | |
JP2011175632A (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
EP2669806B1 (en) | Storage system | |
CN103842962A (zh) | 用于改进计算设备的启动的方法 | |
JP4279317B2 (ja) | データ処理方法及びデータ処理装置 | |
WO2014100954A1 (zh) | 数据控制方法及系统 | |
US9934100B2 (en) | Method of controlling memory swap operation and data processing system using same | |
US7287104B2 (en) | Interface circuit for card-type memory, ASIC including interface circuit, and image forming apparatus including ASIC | |
JPH08101803A (ja) | 情報処理システム | |
JP4606009B2 (ja) | プログラム処理装置 | |
JP5218024B2 (ja) | 情報処理装置、情報処理方法、情報処理プログラム | |
JP4026383B2 (ja) | 情報処理システム、情報処理端末、外部記憶装置、情報処理端末制御用プログラム及び外部記憶装置制御用プログラム | |
JP2007293564A (ja) | メモリデバイスおよび情報記憶システム | |
TW201007458A (en) | Data processing system for integrating transmission interfaces and method thereof | |
CN107025144B (zh) | 用于写入以及读取数据集的方法 | |
JPH10268961A (ja) | 課金情報出力装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230911 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240722 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241002 |