JP2020102237A - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
JP2020102237A
JP2020102237A JP2020027984A JP2020027984A JP2020102237A JP 2020102237 A JP2020102237 A JP 2020102237A JP 2020027984 A JP2020027984 A JP 2020027984A JP 2020027984 A JP2020027984 A JP 2020027984A JP 2020102237 A JP2020102237 A JP 2020102237A
Authority
JP
Japan
Prior art keywords
priority
log
storage device
host
host 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
Application number
JP2020027984A
Other languages
Japanese (ja)
Other versions
JP6895551B2 (en
Inventor
荒井 智
Satoshi Arai
智 荒井
俊逸 小原
Shunitsu Kohara
俊逸 小原
和也 橘内
Kazuya Kitsunai
和也 橘内
小島 慶久
Yoshihisa Kojima
慶久 小島
博行 根本
Hiroyuki Nemoto
博行 根本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Kioxia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2016164016A external-priority patent/JP6666813B2/en
Application filed by Kioxia Corp filed Critical Kioxia Corp
Priority to JP2020027984A priority Critical patent/JP6895551B2/en
Publication of JP2020102237A publication Critical patent/JP2020102237A/en
Application granted granted Critical
Publication of JP6895551B2 publication Critical patent/JP6895551B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide an information processing system capable of shortening a start time.SOLUTION: An information processing system of an embodiment comprises a host device and a storage device connected to the host device. The storage device includes a nonvolatile semiconductor memory storing data transmitted from the host device, and a controller controlling communication with the host device, and data writing operation to and data reading operation from the nonvolatile semiconductor memory. The controller separates a space of logical addresses associated with data into a plurality of subspaces for management, and manages start information required when the storage device is started and required to convert logical addresses and physical addresses of the nonvolatile semiconductor memory so as to enable identification of start priorities per subspace.SELECTED DRAWING: Figure 20

Description

本発明の実施形態は、情報処理システムに関する。 Embodiments of the present invention relate to an information processing system.

記憶装置の起動時には単位容量ごとに必要となる初期化処理が存在するが、近年の記憶装置の大容量化によって、記憶装置全体として必要になる初期化処理の量が増大し、起動時間が長くなってきている。また、記憶装置の論理アドレス空間を複数の部分空間に分割して管理する技術が普及している。 There is an initialization process that is required for each unit capacity when the storage device is started, but with the recent increase in the capacity of the storage device, the amount of initialization process that is required for the entire storage device increases, and the startup time is long. It has become to. In addition, a technique for dividing a logical address space of a storage device into a plurality of partial spaces and managing the divided space has been widely used.

特開2009−176200号公報JP, 2009-176200, A

本発明が解決しようとする課題は、起動時間を短縮することができる情報処理システムを提供することである。 The problem to be solved by the present invention is to provide an information processing system capable of shortening the startup time.

上記課題を達成するために、実施形態の情報処理システムは、ホスト装置と、ホスト装置と接続されている記憶装置とを備える。記憶装置は、ホスト装置から送信されるデータを記憶する不揮発性半導体メモリと、ホスト装置との通信を制御し、不揮発性半導体メモリへのデータの書き込み動作及び読み出し動作を制御するコントローラとを含み、コントローラは、データに対応付けられる論理アドレスの空間を複数の部分空間に分けて管理し、記憶装置の起動に際して必要となる起動情報であって、論理アドレスと不揮発性半導体メモリの物理アドレスとの変換に必要な情報を、部分空間ごとの起動優先順位が識別可能となるように管理する。 In order to achieve the above object, the information processing system according to the embodiment includes a host device and a storage device connected to the host device. The storage device includes a non-volatile semiconductor memory that stores data transmitted from the host device, a controller that controls communication with the host device, and controls a data write operation and a data read operation to the non-volatile semiconductor memory, The controller divides the logical address space associated with the data into a plurality of partial spaces and manages the partial address space. The controller is startup information necessary for booting the storage device, and converts the logical address and the physical address of the nonvolatile semiconductor memory. The information required for the above is managed so that the starting priority for each subspace can be identified.

実施形態の記憶装置の構成を説明するブロック図である。3 is a block diagram illustrating a configuration of a storage device according to an embodiment. FIG. 実施形態の物理ページ及び物理ブロックの構成を説明する図である。It is a figure explaining the structure of the physical page and physical block of embodiment. 実施形態の論理ページ及び論理ブロックの構成を説明する図である。It is a figure explaining the structure of the logical page and logical block of embodiment. 実施形態で部分空間に分割される論理アドレス空間を説明する図である。FIG. 3 is a diagram illustrating a logical address space divided into subspaces in the embodiment. 実施形態のメモリ構成を説明する図である。It is a figure explaining the memory configuration of an embodiment. 実施形態における翻訳情報を使用したユーザデータのリード・ライトの制御を説明する図である。It is a figure explaining control of read/write of user data using translation information in an embodiment. 実施形態の位置情報のデータ構造の一例を説明する図である。It is a figure explaining an example of a data structure of position information of an embodiment. 実施形態のログの一例を説明する図である。It is a figure explaining an example of the log of an embodiment. 実施形態のログ領域の割り当て方法の第1の例を説明する図である。It is a figure explaining the 1st example of the allocation method of the log area of an embodiment. 実施形態のログ領域の割り当て方法の第2の例を説明する図である。It is a figure explaining the 2nd example of the allocation method of the log area of an embodiment. 実施形態のログ領域の割り当て方法の第3の例を説明する図である。It is a figure explaining the 3rd example of the allocation method of the log area of an embodiment. 実施形態のログ領域の割り当て方法の第4の例を説明する図である。It is a figure explaining the 4th example of the allocation method of the log area of an embodiment. 実施形態のNS管理表の構成を説明する図である。It is a figure explaining composition of an NS management table of an embodiment. 実施形態で位置情報を復元する動作を説明する図である。It is a figure explaining operation which restores position information in an embodiment. 実施形態における翻訳情報のRAMへのキャッシュ動作を説明する図である。It is a figure explaining the cache operation of the translation information to RAM in an embodiment. 実施形態におけるホストへの起動完了報告の一例を説明する図である。It is a figure explaining an example of the completion report of starting to the host in an embodiment. 実施形態の起動時におけるFWの制御を説明するフローチャートである。It is a flow chart explaining control of FW at the time of starting of an embodiment. 実施形態における起動優先順位を指定するコマンドの動作の一例を説明する図である。FIG. 6 is a diagram illustrating an example of an operation of a command that specifies a startup priority in the embodiment. 実施形態におけるネームスペースごとの起動優先順位と起動完了報告の一例を説明する図である。It is a figure explaining an example of the starting priority and starting completion report for every namespace in an embodiment. 実施形態におけるネームスペースごとの起動優先順位と起動完了報告の別の一例を説明する図である。It is a figure explaining another example of the starting priority and starting completion report for every namespace in an embodiment. 実施形態において指定起動優先順位に重複があった場合の動作の一例を説明する図である。FIG. 7 is a diagram illustrating an example of an operation when there is an overlap in designated startup priorities in the embodiment. 実施形態において指定起動優先順位に重複があった場合の動作の別の一例を説明する図である。It is a figure explaining another example of operation|movement when there exists duplication in designated starting priority in embodiment. 実施形態において起動優先順位指定コマンドを受信した時のFWの制御を説明するフローチャートである。7 is a flowchart illustrating FW control when a startup priority designation command is received in the embodiment. 実施形態における起動優先順位を問い合わせるコマンドの動作の一例を説明する図である。FIG. 7 is a diagram illustrating an example of an operation of a command for inquiring about a startup priority according to the embodiment.

以下、実施形態の記憶装置を、図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。 Hereinafter, a storage device according to an embodiment will be described with reference to the drawings. In addition, in the following description, common reference numerals are given to components having the same function and configuration.

図1は、実施形態の記憶装置の構成を説明するブロック図である。 FIG. 1 is a block diagram illustrating the configuration of the storage device according to the embodiment.

記憶装置1は、記憶装置1全体を制御するコントローラ10と、データを記憶する不揮発性記憶媒体20と、各種情報群を一時的に格納するとともに、ホスト2と不揮発性記憶媒体20との間でデータを一時的に格納するバッファとして使用されるRAM(Random Access Memory)30と、FW(Firmware)に基づき記憶装置1全体を制御するCPU(Central Processing Unit)40と、を含む。 The storage device 1 stores a controller 10 that controls the storage device 1 as a whole, a non-volatile storage medium 20 that stores data, and a temporary storage of various information groups, and between the host 2 and the non-volatile storage medium 20. A RAM (Random Access Memory) 30 used as a buffer for temporarily storing data, and a CPU (Central Processing Unit) 40 that controls the entire storage device 1 based on FW (Firmware) are included.

本実施形態の説明では、ホスト2はNVMe(NVM Express)(登録商標)規格のインターフェースをサポートするコンピュータであるが、その他の規格、例えばSAS(Serial Attached SCSI)規格、SATA(Serial ATA)規格のインターフェースをサポートするコンピュータであってもよい。
コントローラ10は、例えばSoC(System on a Chip)として構成される半導体集積回路である。
In the description of the present embodiment, the host 2 is a computer that supports an interface of the NVMe (NVM Express) (registered trademark) standard, but other standards, for example, SAS (Serial Attached SCSI) standard and SATA (Serial ATA) standard. It may be a computer that supports the interface.
The controller 10 is, for example, a semiconductor integrated circuit configured as an SoC (System on a Chip).

本実施形態では、不揮発性記憶媒体20はNAND型フラッシュメモリであり、複数のNAND型フラッシュメモリチップ100(以下、メモリチップ100と称する)を含んで構成されるが、磁気ディスクなど他の種類の不揮発性記憶媒体でもよい。以下では不揮発性記憶媒体20をNAND型フラッシュメモリ20と称する(以下、単にNANDとも称する)。また、本実施形態のNAND型フラッシュメモリ20は、例えば、16チャネル(Ch)のメモリチップ100を有する。以下では、メモリチップ100のそれぞれをメモリチップCh0〜メモリチップCh15と表記する。なお、チャネル数は16より多くても少なくてもよい。 In the present embodiment, the non-volatile storage medium 20 is a NAND flash memory and is configured to include a plurality of NAND flash memory chips 100 (hereinafter referred to as memory chips 100), but other types of magnetic disks such as a magnetic disk may be used. A non-volatile storage medium may be used. Hereinafter, the nonvolatile storage medium 20 will be referred to as a NAND flash memory 20 (hereinafter, also simply referred to as NAND). The NAND flash memory 20 of the present embodiment has, for example, a 16-channel (Ch) memory chip 100. Hereinafter, each of the memory chips 100 will be referred to as a memory chip Ch0 to a memory chip Ch15. The number of channels may be more or less than 16.

本実施形態では、RAM30はDRAM(Dynamic Random Access Memory)であるが、SRAM(Static Random Access Memory)など他の種類の揮発性メモリを採用してもよい。 In the present embodiment, the RAM 30 is a DRAM (Dynamic Random Access Memory), but other types of volatile memory such as an SRAM (Static Random Access Memory) may be adopted.

なお、RAM30及びCPU40は、別個の半導体集積回路とせずにコントローラ10に内蔵されていてもよい。また、以下の説明においてFWにより実行される機能の一部又は全部は、専用のHW(Hardware)によっても実行可能であり、HWにより実行される機能の一部又は全部を、FWによって実行することも可能である。 The RAM 30 and the CPU 40 may be built in the controller 10 instead of being separate semiconductor integrated circuits. Further, in the following description, some or all of the functions executed by the FW can also be executed by a dedicated HW (Hardware), and some or all of the functions executed by the HW should be executed by the FW. Is also possible.

コントローラ10は、ホスト2との通信制御や複数接続されるホスト2の管理を行うホストインターフェース(IF)制御部200と、RAM30のリード・ライトを制御するバッファ制御部210と、NAND型フラッシュメモリ20のリード・ライトを制御するNAND制御部220と、を含む。ホストIF制御部200は、FWに基づくCPU40の指示により、ホスト2から受信した各種コマンドの実行結果をホスト2に報告することができる。 The controller 10 includes a host interface (IF) control unit 200 that controls communication with the host 2 and manages a plurality of connected hosts 2, a buffer control unit 210 that controls read/write of the RAM 30, and a NAND flash memory 20. And a NAND control unit 220 for controlling read/write of. The host IF control unit 200 can report execution results of various commands received from the host 2 to the host 2 according to an instruction from the CPU 40 based on FW.

次に、図2a及び図2bを参照して、メモリチップ100の物理ページ300及び物理ブロック310の構成を説明する。 Next, configurations of the physical page 300 and the physical block 310 of the memory chip 100 will be described with reference to FIGS. 2A and 2B.

図2aに示すように、メモリチップ100に対するデータのリード・ライトにおける最小管理単位はクラスタ320と呼ばれる。本実施形態ではクラスタ320の大きさは4kBである。また、メモリチップ100の内部で一度にデータのリード・ライトが可能な最小の回路構成の単位は物理ページ300と呼ばれる。本実施形態では物理ページ300の大きさは16クラスタ(4kB×16クラスタ=64kB)である。 As shown in FIG. 2A, the minimum management unit for reading/writing data from/to the memory chip 100 is called a cluster 320. In this embodiment, the size of the cluster 320 is 4 kB. Further, the smallest unit of circuit configuration capable of reading/writing data at once inside the memory chip 100 is called a physical page 300. In this embodiment, the size of the physical page 300 is 16 clusters (4 kB×16 clusters=64 kB).

また、図2bに示すように、メモリチップ100のデータのイレースが可能な最小の回路構成の単位は物理ブロック310と呼ばれる。本実施形態では物理ブロック310の大きさは256クラスタ、すなわち16物理ページ(64kB×16物理ページ=1024kB)である。なお、これら各単位のサイズは一例であり、これらの値に限定されるものではない。 In addition, as shown in FIG. 2B, a unit of the minimum circuit configuration capable of erasing data of the memory chip 100 is called a physical block 310. In this embodiment, the size of the physical block 310 is 256 clusters, that is, 16 physical pages (64 kB×16 physical pages=1024 kB). It should be noted that the size of each of these units is an example, and is not limited to these values.

次に、図3a及び図3bを参照して、論理ページ400及び論理ブロック410の構成を説明する。 Next, the configurations of the logical page 400 and the logical block 410 will be described with reference to FIGS. 3A and 3B.

本実施形態では、図3aに示すように、メモリチップCh0〜Ch15それぞれの1つの物理ページ300を含む集合を論理ページ400とする。コントローラ10は、論理ページ400を論理的な単位として、NAND型フラッシュメモリ20へのデータのリード・ライトを制御する。また、図3bに示すように、コントローラ10は16個の論理ページ400分のデータである論理ブロック410を論理的な単位として、NAND型フラッシュメモリ20のデータのイレースを制御する。すなわち、コントローラ10はメモリチップ100のデータのイレースの最小単位である物理ブロック310ごとではなく、論理ブロック410ごとにイレース処理を行う。 In this embodiment, as shown in FIG. 3A, a set including one physical page 300 of each of the memory chips Ch0 to Ch15 is a logical page 400. The controller 10 controls reading/writing of data to/from the NAND flash memory 20 using the logical page 400 as a logical unit. Further, as shown in FIG. 3B, the controller 10 controls the erase of the data of the NAND flash memory 20 using the logical block 410 which is the data of 16 logical pages 400 as a logical unit. That is, the controller 10 performs the erase process for each logical block 410, not for each physical block 310, which is the minimum unit for erasing data in the memory chip 100.

次に、図4を参照して、部分空間について説明する。 Next, the subspace will be described with reference to FIG.

記憶装置1がホスト2に提供する論理アドレス(Logical Block Address、LBA)と、ユーザデータが記憶されるNAND型フラッシュメモリ20の物理アドレスは、1対1に対応する。ここで、ユーザデータとは、ホスト2からライト要求と共に送信されてくるデータを指す。以下では、物理アドレスと1対1に対応する論理アドレスをドライブLBAと称する。 The logical address (Logical Block Address, LBA) provided by the storage device 1 to the host 2 and the physical address of the NAND flash memory 20 in which the user data is stored correspond to each other on a one-to-one basis. Here, the user data refers to the data transmitted from the host 2 together with the write request. Hereinafter, a logical address corresponding to a physical address on a one-to-one basis is referred to as a drive LBA.

また、ドライブLBAは複数の部分空間に分割されてホスト2に提供される。NVMe規格においては部分空間はネームスペースと呼ばれ、SCSI規格においては部分空間はLogical Unitと呼ばれる。以下では、部分空間をネームスペースと称する。ネームスペースのそれぞれはネームスペースID(NSID)によって識別される。本実施形態では、ドライブLBAはNSID0〜NSIDnとして識別される(n+1)個のネームスペースに分割されている。 The drive LBA is divided into a plurality of partial spaces and provided to the host 2. The subspace is called a namespace in the NVMe standard, and the subspace is called a Logical Unit in the SCSI standard. In the following, the subspace will be referred to as a namespace. Each namespace is identified by a namespace ID (NSID). In this embodiment, the drive LBA is divided into (n+1) namespaces identified as NSID0 to NSIDn.

各ネームスペースは、ホスト2からは独立した記憶領域として扱うことができ、記憶装置1のドライブLBAは、NSIDと、ネームスペースごとに0から始まるホストLBAによって指定される。ここで、ホストLBAとは、記憶装置1のデータの記憶先を指定するために、ホスト2がコマンド発行時に指定する論理アドレスである。 Each namespace can be treated as a storage area independent of the host 2, and the drive LBA of the storage device 1 is designated by the NSID and the host LBA starting from 0 for each namespace. Here, the host LBA is a logical address specified by the host 2 when a command is issued in order to specify the storage destination of the data in the storage device 1.

コマンドで指定されたホストLBAとドライブLBAとの変換はホストIF制御部200が行う。例えば図4に示すように、ホスト2がNSID2のホストLBA=0をアクセスする場合、ホストIF制御部200はドライブLBA=Bがアクセスされたものとして取り扱う。 The host IF control unit 200 performs conversion between the host LBA designated by the command and the drive LBA. For example, as shown in FIG. 4, when the host 2 accesses the host LBA=0 of NSID2, the host IF control unit 200 treats the drive LBA=B as being accessed.

各ネームスペースはホスト2からのコマンドによって生成される。すなわち、ホスト2は記憶装置1にコマンドを発行し、生成したいネームスペースのNSIDと、そのネームスペースに割り当てたい記憶容量を指定する。なお、ドライブLBAのすべてにネームスペースを割り当てず、ネームスペースが割り当てられない空き領域があってもよい。 Each namespace is created by a command from the host 2. That is, the host 2 issues a command to the storage device 1 to specify the NSID of the namespace to be created and the storage capacity to be assigned to that namespace. It should be noted that the drive LBA may not have a namespace assigned thereto and may have an empty area to which a namespace cannot be assigned.

また、記憶装置1が複数のホスト2と接続される場合は、各ホスト2からアクセス可能なネームスペースを制限してもよい。例えば、ホスト#0はNSID0とNSID2のみをアクセス可能とし、ホスト#1はNSID3のみをアクセス可能とすることができる。 Further, when the storage device 1 is connected to a plurality of hosts 2, the name space accessible from each host 2 may be limited. For example, host #0 can access only NSID0 and NSID2, and host #1 can access only NSID3.

次に、図5を参照して、本実施形態のメモリ構成を説明する。 Next, the memory configuration of the present embodiment will be described with reference to FIG.

NAND型フラッシュメモリ20には、ユーザデータ500、翻訳情報群520a、ログ530、NS管理表540が記憶される。 The NAND flash memory 20 stores user data 500, a translation information group 520a, a log 530, and an NS management table 540.

翻訳情報群520aは翻訳情報510aを含み、各翻訳情報510aはドライブLBAと物理アドレスとの対応関係を示す情報である。ログ530は、ドライブLBAと物理アドレスとの対応関係の変更を記録するためのログである。NS管理表540は、ネームスペースごとの起動優先順位などを管理するためのテーブルである。 The translation information group 520a includes translation information 510a, and each translation information 510a is information indicating the correspondence between the drive LBA and the physical address. The log 530 is a log for recording a change in the correspondence between the drive LBA and the physical address. The NS management table 540 is a table for managing the activation priority order for each namespace.

コントローラ10は、ユーザデータ500が記憶される(n+1)個のユーザデータ領域、翻訳情報群520aが記憶される翻訳情報群領域、ログ530が記憶される(m+1)個のログ領域、及び、NS管理表540が記憶されるNS管理表領域、を含んでNAND型フラッシュメモリ20を管理している。各ユーザデータ領域は各ネームスペースと1対1に対応している。各ログ領域には1つのネームスペースが対応するが、各ネームスペースが複数のログ領域と対応してもよい。すなわち、例えば、ログ領域0がNSID0とNSID1との両方に対応することはないが、NSID0がログ領域0とログ領域1とに対応してもよい。 The controller 10 includes (n+1) user data areas in which the user data 500 is stored, translation information group areas in which the translation information group 520a is stored, (m+1) log areas in which the log 530 is stored, and NS. The NAND flash memory 20 is managed including the NS management table area in which the management table 540 is stored. Each user data area has a one-to-one correspondence with each namespace. Although one namespace corresponds to each log area, each namespace may correspond to a plurality of log areas. That is, for example, the log area 0 does not correspond to both the NSID 0 and the NSID 1, but the NSID 0 may correspond to the log area 0 and the log area 1.

コントローラ10は、1つの論理ページ400を、ユーザデータ領域とログ領域の両方を含むものとして管理するが、ユーザデータ領域専用の論理ページ400や、ログ領域専用の論理ページ400が存在してもよい。 Although the controller 10 manages one logical page 400 as including both the user data area and the log area, the logical page 400 dedicated to the user data area and the logical page 400 dedicated to the log area may exist. ..

なお、コントローラ10が、ホストLBAと、各ネームスペースに対応するドライブLBAとの関係を認識できるのであれば、コントローラ10は、ネームスペースと1対1に対応させてユーザデータ領域を管理しなくてもよい。例えば、1つのユーザデータ領域に複数のネームスペースのユーザデータ500を記憶させ、ネームスペースごとに割り当てられたログ領域に当該ネームスペースのログ530を記憶させてもよい。 If the controller 10 can recognize the relationship between the host LBA and the drive LBA corresponding to each namespace, the controller 10 does not have to manage the user data area in one-to-one correspondence with the namespace. Good. For example, the user data 500 of a plurality of namespaces may be stored in one user data area, and the log 530 of the namespace may be stored in a log area allocated for each namespace.

また、コントローラ10が、ログ領域をネームスペースに対応させて管理するのではなく、ログ領域に記憶されるログ530にNSIDを含ませてもよい。この場合は、以下の説明において、例えばNSID0に対応するログ領域とは、NSID0を有するログ530が記憶されるログ領域の集合を指す。 Further, the controller 10 may include the NSID in the log 530 stored in the log area, instead of managing the log area in association with the namespace. In this case, in the following description, for example, the log area corresponding to NSID0 refers to a set of log areas in which the log 530 having NSID0 is stored.

RAM30には、NAND型フラッシュメモリ20の翻訳情報群領域から各翻訳情報510aがコピーされて、翻訳情報(キャッシュ)510bとして格納される。以下では、RAM30内に格納された翻訳情報(キャッシュ)510bの集合を翻訳情報群(キャッシュ)520bと称する。また、RAM30にはネームスペースごとの位置情報群550が格納される。詳細については後述するが、位置情報群550は位置情報560を含み、各位置情報560は翻訳情報510a及び翻訳情報(キャッシュ)510bの格納先を示す情報を記録する。 In the RAM 30, each translation information 510a is copied from the translation information group area of the NAND flash memory 20 and stored as translation information (cache) 510b. Hereinafter, a set of translation information (cache) 510b stored in the RAM 30 will be referred to as a translation information group (cache) 520b. The RAM 30 also stores a position information group 550 for each namespace. Although details will be described later, the position information group 550 includes position information 560, and each position information 560 records information indicating a storage destination of the translation information 510a and the translation information (cache) 510b.

次に、図6を参照して、翻訳情報510を使用したホストLBAから物理アドレスへの変換について説明する。本実施形態においては、翻訳情報群520a内の翻訳情報510aと、翻訳情報群(キャッシュ)520b内の翻訳情報(キャッシュ)510bは、同一のデータ構造を有する。なお、翻訳情報510aと翻訳情報(キャッシュ)510bとが同一の内容を表すのであれば、翻訳情報510aと翻訳情報(キャッシュ)510bとのデータ構造は異なっていてもよい。例えば、翻訳情報510aには圧縮された翻訳情報データを格納してもよい。 Next, referring to FIG. 6, the conversion from the host LBA to the physical address using the translation information 510 will be described. In this embodiment, the translation information 510a in the translation information group 520a and the translation information (cache) 510b in the translation information group (cache) 520b have the same data structure. Note that the translation information 510a and the translation information (cache) 510b may have different data structures as long as the translation information 510a and the translation information (cache) 510b represent the same content. For example, the translation information 510a may store compressed translation information data.

図6及び以下の説明では、翻訳情報群520aと翻訳情報群(キャッシュ)520bとを総称して翻訳情報群520と表記し、翻訳情報510aと翻訳情報(キャッシュ)510bとを総称して翻訳情報510と表記している。 In FIG. 6 and the following description, the translation information group 520a and the translation information group (cache) 520b are collectively referred to as the translation information group 520, and the translation information 510a and the translation information (cache) 510b are collectively referred to as the translation information. It is described as 510.

記憶装置1がホスト2よりコマンドを受領すると(S100)、ホストIF制御部200は当該コマンドからNSID及びホストLBAを抽出し(S101)、これらを用いてドライブLBAを算出する(S102)。 When the storage device 1 receives a command from the host 2 (S100), the host IF control unit 200 extracts the NSID and the host LBA from the command (S101) and calculates the drive LBA using these (S102).

本実施形態においては、各翻訳情報510には、NAND型フラッシュメモリ20の物理アドレスが記録され、各翻訳情報510はユーザデータ500に対応付けられるドライブLBAの順で配列されている。すなわち、CPU40がFWに基づいて、ドライブLBAをインデックスとして翻訳情報群520を検索することで、各ユーザデータ500に対応付けられる物理アドレスを取得することができる(S103)。なお、各翻訳情報は、CPU40が各ドライブLBAと各翻訳情報の対応関係を認識できるのであれば、ドライブLBAの順に配列されていなくてもよい。 In this embodiment, the physical address of the NAND flash memory 20 is recorded in each translation information 510, and each translation information 510 is arranged in the order of the drive LBA associated with the user data 500. That is, the CPU 40 can acquire the physical address associated with each user data 500 by searching the translation information group 520 with the drive LBA as an index based on the FW (S103). The translation information does not have to be arranged in the order of the drive LBA as long as the CPU 40 can recognize the correspondence between the drive LBA and the translation information.

なお、本実施形態においては、ユーザデータ500と対応付けられていないドライブLBAに対応する翻訳情報510には、“アンマップ(Unmapped)”を示す情報が記録される。また、1つの翻訳情報510に、複数のドライブLBAと複数の物理アドレスとの対応関係を記録してもよい。 In the present embodiment, the translation information 510 corresponding to the drive LBA that is not associated with the user data 500 records information indicating “Unmapped”. In addition, one translation information 510 may record the correspondence between a plurality of drive LBAs and a plurality of physical addresses.

各翻訳情報510は、記憶装置1が動作するための電力が供給されていない間はNAND型フラッシュメモリ20内に格納されている。NAND型フラッシュメモリ20へのアクセスはRAM30へのアクセスに比べて遅いのが一般的であるため、記憶装置1への電力供給後なるべく速やかに各翻訳情報510をRAM30にコピー(キャッシュ)することが望ましい。なお、電力供給後に直ちにコピーするのではなく、対応するドライブLBAへのアクセスをトリガーとして、翻訳情報510をRAM30にコピーしてもよい。 Each translation information 510 is stored in the NAND flash memory 20 while the power for operating the storage device 1 is not supplied. Since the access to the NAND flash memory 20 is generally slower than the access to the RAM 30, each translation information 510 can be copied (cached) to the RAM 30 as soon as possible after the power supply to the storage device 1. desirable. Note that the translation information 510 may be copied to the RAM 30 by using the access to the corresponding drive LBA as a trigger, instead of copying it immediately after power is supplied.

次に、図7を参照して、RAM30における位置情報群550のデータ構造の一例を説明する。 Next, an example of the data structure of the position information group 550 in the RAM 30 will be described with reference to FIG. 7.

図7には、NSID0の位置情報群550が示されているが、他のネームスペースの位置情報群550も同様の構成である。位置情報群550は複数の位置情報560を備えている。各位置情報560は1つの翻訳情報510と1対1で対応し、各翻訳情報510が格納されている場所(すなわちキャッシュとして使用されるRAM30又はNAND型フラッシュメモリ20)、及び、その物理アドレスが記録されている。 FIG. 7 shows the position information group 550 of NSID0, but the position information groups 550 of other namespaces have the same configuration. The position information group 550 includes a plurality of position information 560. Each position information 560 corresponds to one translation information 510 on a one-to-one basis, and the location where each translation information 510 is stored (that is, the RAM 30 used as a cache or the NAND flash memory 20) and its physical address are It is recorded.

各位置情報560は、対応する翻訳情報510と同じ順序、すなわちユーザデータ500に対応付けられるドライブLBAの順序で配列されている。従って、CPU40がドライブLBAをインデックスとして位置情報群550を検索することで、各ユーザデータ500に対応する翻訳情報510が記憶されているRAM30又はNAND型フラッシュメモリ20の物理アドレスを取得することができる。 Each position information 560 is arranged in the same order as the corresponding translation information 510, that is, in the order of the drive LBA associated with the user data 500. Therefore, the CPU 40 searches the position information group 550 using the drive LBA as an index to obtain the physical address of the RAM 30 or the NAND flash memory 20 in which the translation information 510 corresponding to each user data 500 is stored. ..

図7の例では、NSID0のホストLBA「L0」に対応するドライブLBAは「La」であり、これに対応する位置情報560は、NAND型フラッシュメモリ20の物理アドレス「Pb」である。NAND型フラッシュメモリ20の物理アドレス「Pb」の領域には、翻訳情報510aとしてNAND型フラッシュメモリ20の「物理アドレス=Pa」が記憶されている。すなわち、NSID0のホストLBA「L0」に対応するユーザデータ1は、NAND型フラッシュメモリ20の物理アドレス「Pa」の領域に記憶されていることになる。 In the example of FIG. 7, the drive LBA corresponding to the host LBA “L0” of NSID0 is “La”, and the position information 560 corresponding to this is the physical address “Pb” of the NAND flash memory 20. In the area of the physical address “Pb” of the NAND flash memory 20, “physical address=Pa” of the NAND flash memory 20 is stored as the translation information 510a. That is, the user data 1 corresponding to the host LBA “L0” of NSID0 is stored in the area of the physical address “Pa” of the NAND flash memory 20.

また、NSID0のホストLBA「L1」に対応するドライブLBAは「Lc」であり、これに対応する位置情報560は、RAM30の物理アドレス「Pd」である。RAM30の物理アドレス「Pd」の領域には、翻訳情報(キャッシュ)510bとしてNAND型フラッシュメモリ20の「物理アドレス=Pc」が記憶されている。すなわち、NSID0のホストLBA「L1」に対応するユーザデータ2は、NAND型フラッシュメモリ20の物理アドレス「Pc」の領域に記憶されていることになる。 The drive LBA corresponding to the host LBA “L1” of NSID0 is “Lc”, and the position information 560 corresponding to this is the physical address “Pd” of the RAM 30. In the area of the physical address “Pd” of the RAM 30, “physical address=Pc” of the NAND flash memory 20 is stored as translation information (cache) 510b. That is, the user data 2 corresponding to the host LBA “L1” of NSID0 is stored in the area of the physical address “Pc” of the NAND flash memory 20.

次に、図8を参照して、ログ530の一例を説明する。 Next, an example of the log 530 will be described with reference to FIG.

図8に示す例では、NSID0のホストLBA「L1」に対応するドライブLBAは「Lc」であり、図8の初期状態では、ドライブLBA「Lc」に対応するユーザデータ2がNAND型フラッシュメモリ20の物理アドレス「Pc」の領域に記憶されている。また、ドライブLBA「Lc」と物理アドレス「Pc」との関連を示す翻訳情報(キャッシュ)510bは、RAM30の物理アドレス「Pd」に格納されている。 In the example shown in FIG. 8, the drive LBA corresponding to the host LBA “L1” of NSID 0 is “Lc”, and in the initial state of FIG. 8, the user data 2 corresponding to the drive LBA “Lc” is the NAND flash memory 20. Is stored in the area of the physical address “Pc”. Further, translation information (cache) 510b indicating the relationship between the drive LBA “Lc” and the physical address “Pc” is stored in the physical address “Pd” of the RAM 30.

この状態で、ホスト2からNSID0のホストLBA「L1」へのライト要求とともに、ユーザデータ3が送られてくる。この時、CPU40は、ユーザデータ3を、NAND型フラッシュメモリ20の有効データが記憶されていない物理アドレス「Pe」の領域に記憶させるようにコントローラ10を制御する(S200)。また、CPU40は、RAM30の物理アドレス「Pf」に新たな翻訳情報(キャッシュ)510b(物理アドレス「Pe」)を追加する(S201)。CPU40は、ドライブLBA「Lc」に対応する位置情報560をRAM30の物理アドレス「Pd」から「Pf」に書き換える(S202)。 In this state, the user data 3 is sent together with the write request from the host 2 to the host LBA "L1" of NSID0. At this time, the CPU 40 controls the controller 10 to store the user data 3 in the area of the physical address “Pe” of the NAND flash memory 20 where valid data is not stored (S200). Further, the CPU 40 adds new translation information (cache) 510b (physical address "Pe") to the physical address "Pf" of the RAM 30 (S201). The CPU 40 rewrites the position information 560 corresponding to the drive LBA “Lc” from the physical address “Pd” of the RAM 30 to “Pf” (S202).

追加された翻訳情報(キャッシュ)510b(物理アドレス「Pe」)は、遅くとも記憶装置1への電力供給が断たれるまでに、NAND型フラッシュメモリ20の翻訳情報群520aに保存される(S203)。ここでは、ドライブLBA「Lc」に対応する翻訳情報(キャッシュ)510b(物理アドレス「Pe」)は、NAND型フラッシュメモリ20の物理アドレス「Pk」に保存されるものとする。 The added translation information (cache) 510b (physical address "Pe") is stored in the translation information group 520a of the NAND flash memory 20 by the time the power supply to the storage device 1 is cut off at the latest (S203). .. Here, it is assumed that the translation information (cache) 510b (physical address “Pe”) corresponding to the drive LBA “Lc” is stored in the physical address “Pk” of the NAND flash memory 20.

CPU40は、ドライブLBA「Lc」に対応する翻訳情報(キャッシュ)510bが物理アドレス「Pk」に保存されたことを示すログ530を、ログ領域0に記憶させる(S204)。 The CPU 40 stores the log 530 indicating that the translation information (cache) 510b corresponding to the drive LBA “Lc” is stored at the physical address “Pk” in the log area 0 (S204).

各ログ領域0〜mには、各ネームスペースに対応する翻訳情報(キャッシュ)510bの保存に伴い、順にログ530が記憶される。各ログ領域0〜m内には、ログ530が古いものから新しいものへと時系列で格納されている。各ログ領域0〜mには、前述したように、1つのネームスペースのログ530のみを記憶し、複数のネームスペースのログ530が1つのログ領域内に混在することはない。このログ530は、後述するように、記憶装置1の起動時に位置情報群550の復元に用いられる。 The logs 530 are sequentially stored in the log areas 0 to m as the translation information (cache) 510b corresponding to each namespace is stored. In each of the log areas 0 to m, logs 530 are stored in chronological order from oldest to newest. As described above, only the log 530 of one namespace is stored in each log area 0 to m, and the logs 530 of a plurality of namespaces are not mixed in one log area. The log 530 is used to restore the position information group 550 when the storage device 1 is activated, as will be described later.

なお、例えば記憶装置1への電力供給が断たれる時に、すべてのログ530がログ領域へ一度に記憶されなくともよい。例えば、翻訳情報(キャッシュ)510bの複数回分の保存に伴うログ530の大きさの合計が1論理ページ分になるごとに、ログ530が記憶されてもよい。この場合には、CPU40は、ログ530に反映されていない翻訳情報(キャッシュ)510bの保存があることを、例えば翻訳情報(キャッシュ)510bのそれぞれにフラグを付加して管理する必要がある。 Note that, for example, when the power supply to the storage device 1 is cut off, not all the logs 530 may be stored in the log area at once. For example, the log 530 may be stored every time the total size of the log 530 associated with the storage of the translation information (cache) 510b for a plurality of times becomes one logical page. In this case, the CPU 40 needs to manage that the translation information (cache) 510b that is not reflected in the log 530 is stored, for example, by adding a flag to each of the translation information (cache) 510b.

次に、図9a及び図9bを参照して、1つの論理ブロック410を1つのログ領域に割り当てる動作の一例を説明する。図9aの1つのログ530は、1論理ページ分のログ530の集合を示している。 Next, an example of the operation of allocating one logical block 410 to one log area will be described with reference to FIGS. 9a and 9b. One log 530 in FIG. 9a shows a set of logs 530 for one logical page.

ログ530は、ネームスペースごとに論理ブロック410を単位としてまとめられ、各論理ブロック410内の論理ページ400の番号の順に記憶される。図9aに示す例では、論理ブロック#0がログ領域0として割り当てられ、ここにはNSID0のログ530が記憶されている。また、論理ブロック#1はログ領域1として割り当てられ、ここにはNSID2のログ530が記憶されている。さらに、論理ブロック#2にはログ領域2としてNSID1のログ530が記憶され、論理ブロック#3にはログ領域3としてNSID0のログ530が記憶され、論理ブロック#4にはログ領域4としてNSID1のログ530が記憶されている。 The log 530 is collected in units of logical blocks 410 for each namespace, and is stored in the order of the numbers of the logical pages 400 in each logical block 410. In the example shown in FIG. 9a, the logical block #0 is allocated as the log area 0, and the log 530 of NSID0 is stored therein. The logical block #1 is assigned as the log area 1, and the log 530 of NSID2 is stored therein. Further, the log 530 of NSID1 is stored in the logical block #2 as the log area 2, the log 530 of NSID0 is stored in the logical block #3 as the log area 3, and the log 530 of NSID1 is stored in the logical block #4 as the log area 4. The log 530 is stored.

この結果、図9bに示すように、NSID0のログ530を記憶している論理ブロック410の番号(ログブロック番号)は#0と#3に、NSID1のログブロック番号は#2と#4に、NSID2のログブロック番号は#1に、それぞれなっている。 As a result, as shown in FIG. 9B, the numbers (log block numbers) of the logical blocks 410 storing the log 530 of NSID0 are #0 and #3, and the log block numbers of NSID1 are #2 and #4. The log block number of NSID2 is #1, respectively.

次に、図10a及び図10bを参照して、1つの論理ブロック410を複数の領域に分割し、分割された各領域を1つのログ領域に割り当てる動作の一例を説明する。図10aにおいても図9aと同様に、1つのログ530は、1論理ページ分のログ530の集合を示している。 Next, an example of operation of dividing one logical block 410 into a plurality of areas and allocating each divided area to one log area will be described with reference to FIGS. 10a and 10b. In FIG. 10A, as in FIG. 9A, one log 530 shows a set of logs 530 for one logical page.

各論理ブロック410は、8つの論理ページ400ごとに1つのログ領域として割り当てられる。以下、論理ページ#0〜論理ページ#7の集合をLower Page、論理ページ#8〜論理ページ#15の集合をUpper Pageと称する。なお、1つのログ領域として割り当て可能な論理ページ400の数は、8に限られない。 Each logical block 410 is allocated as one log area for every eight logical pages 400. Hereinafter, a set of logical pages #0 to #7 is referred to as a lower page, and a set of logical pages #8 to #15 is referred to as an upper page. Note that the number of logical pages 400 that can be assigned as one log area is not limited to eight.

図10aに示す例では、論理ブロック#0のLower Pageがログ領域0として割り当てられ、ここにはNSID0のログ530が記憶されている。論理ブロック#0のUpper Pageはログ領域1として割り当てられ、ここにはNSID2のログ530が記憶されている。論理ブロック#1のLower Pageはログ領域2として割り当てられ、ここにはNSID0のログ530が記憶されている。論理ブロック#1のUpper Pageはログ領域3として割り当てられ、ここにはNSID1のログ530が記憶されている。 In the example shown in FIG. 10A, the Lower Page of the logical block #0 is assigned as the log area 0, and the log 530 of NSID 0 is stored therein. The upper page of the logical block #0 is assigned as the log area 1, and the log 530 of the NSID 2 is stored therein. The lower page of the logical block #1 is allocated as the log area 2, and the log 530 of NSID0 is stored therein. The Upper Page of the logical block #1 is assigned as the log area 3, and the log 530 of NSID1 is stored therein.

この結果、図10bに示すように、NSID0のログ530を記憶している論理ブロック410の番号(ログブロック番号)は#0(L)と#1(L)に、NSID1のログブロック番号は#1(U)、NSID2のログブロック番号は#0(U)に、それぞれなっている。 As a result, as shown in FIG. 10B, the numbers (log block numbers) of the logical blocks 410 storing the log 530 of NSID 0 are #0 (L) and #1 (L), and the log block number of NSID 1 is #. The log block numbers of 1 (U) and NSID2 are #0 (U), respectively.

次に、図11a及び図11bを参照して、各論理ブロック410のうちの1つの論理ページ400を含む集合を、1つのネームスペースのログ領域として割り当てる動作の一例を説明する。図11aにおいても図9aと同様に、1つのログ530は、1論理ページ分のログ530の集合を示している。 Next, an example of an operation of allocating a set including one logical page 400 of each logical block 410 as a log area of one namespace will be described with reference to FIGS. 11a and 11b. In FIG. 11A, as in FIG. 9A, one log 530 shows a set of logs 530 for one logical page.

ログ530は、ネームスペースごとに、各論理ブロック410内の固定された位置(番号)の論理ページ400に記憶される。例えば、各論理ブロック410の論理ページ#0を、ログ領域0としてNSID0のログ530の記憶用に割り当てる。また、各論理ブロック410の論理ページ#1を、ログ領域1としてNSID1のログ530の記憶用に割り当てる。さらに、各論理ブロック410の論理ページ#2を、ログ領域2としてNSID2のログ530の記憶用に、各論理ブロック410の論理ページ#3を、ログ領域3としてNSID3のログ530の記憶用に、それぞれ割り当てる。 The log 530 is stored in the logical page 400 at a fixed position (number) in each logical block 410 for each namespace. For example, the logical page #0 of each logical block 410 is allocated as the log area 0 for storing the log 530 of NSID0. Further, the logical page #1 of each logical block 410 is allocated as the log area 1 for storing the log 530 of NSID1. Furthermore, the logical page #2 of each logical block 410 is stored as the log area 2 for storing the log 530 of NSID2, and the logical page #3 of each logical block 410 is stored as the log area 3 for storing the log 530 of NSID3. Assign each.

図11aに示す例では、NSID0のログ530は論理ブロック#0〜#4の論理ページ#0に、NSID1のログ530は論理ブロック#0〜#2の論理ページ#1に、NSID2のログ530は論理ブロック#0〜#2の論理ページ#2に、NSID3のログ530は論理ブロック#0〜#3の論理ページ#3に、それぞれ記憶されている。 In the example illustrated in FIG. 11A, the log 530 of NSID0 is in the logical page #0 of the logical blocks #0 to #4, the log 530 of NSID1 is in the logical page #1 of the logical blocks #0 to #2, and the log 530 of NSID2 is The logical page #2 of the logical blocks #0 to #2 and the log 530 of NSID3 are stored in the logical page #3 of the logical blocks #0 to #3, respectively.

この結果、図11bに示すように、NSID0のログ530を記憶する論理ブロック410の番号(ログブロック番号)は#0〜#4に、NSID1のログブロック番号は#0〜#2に、NSID2のログブロック番号は#0〜#2に、NSID3のログブロック番号は#0〜#3に、それぞれなっている。 As a result, as shown in FIG. 11B, the numbers (log block numbers) of the logical blocks 410 storing the log 530 of NSID0 are #0 to #4, the log block numbers of NSID1 are #0 to #2, and NSID2. The log block numbers are #0 to #2, and the log block numbers of NSID3 are #0 to #3.

なお、上記では各論理ブロック410のうちの1つの論理ページ400を含む集合を1つのログ領域として割り当てたが、各論理ブロック410のうちの複数の論理ページ400を含む集合を1つのログ領域として割り当てることも可能である。例えば、各論理ブロック410の論理ページ#0と論理ページ#1をログ領域0としてNSID0のログ530の記憶用に割り当て、各論理ブロック410の論理ページ#2と論理ページ#3をログ領域1としてNSID1のログ530の記憶用に割り当て、各論理ブロック410の論理ページ#4と論理ページ#5をログ領域2としてNSID2のログ530の記憶用に割り当て・・・、としてもよい。 Although a set including one logical page 400 of each logical block 410 is assigned as one log area in the above, a set including a plurality of logical pages 400 of each logical block 410 is set as one log area. It is also possible to assign. For example, the logical page #0 and the logical page #1 of each logical block 410 are assigned as the log area 0 for storing the log 530 of the NSID 0, and the logical page #2 and the logical page #3 of each logical block 410 are set as the log area 1. It is also possible to allocate the log 530 of NSID1 for storage and allocate the logical page #4 and logical page #5 of each logical block 410 as the log area 2 for storage of the log 530 of NSID2.

次に、図12a及び図12bを参照して、1つの論理ページ400を複数の領域に分割し、分割された各領域を1つのログ領域に割り当てる動作の一例を説明する。図12aにおいては、1つのログ530はログ530の集合を示すものではない。各論理ページ400は、最大16個のログ530を記憶できるものとする。 Next, an example of an operation of dividing one logical page 400 into a plurality of areas and allocating each divided area to one log area will be described with reference to FIGS. 12a and 12b. In FIG. 12 a, one log 530 does not represent a set of logs 530. It is assumed that each logical page 400 can store up to 16 logs 530.

図12aに示す例では、論理ページ#0のアドレスPaから始まる領域がログ領域0として割り当てられ、ここにはNSID0のログ530が8個記憶されている。論理ページ#0のアドレスPbから始まる領域はログ領域1として割り当てられ、ここにはNSID2のログ530が2個記憶されている。論理ページ#0のアドレスPcから始まる領域はログ領域2として割り当てられ、ここにはNSID1のログ530が4個記憶されている。 In the example shown in FIG. 12a, the area starting from the address Pa of the logical page #0 is allocated as the log area 0, and eight logs 530 of NSID0 are stored therein. The area starting from the address Pb of the logical page #0 is allocated as the log area 1, and two logs 530 of NSID2 are stored therein. The area starting from the address Pc of the logical page #0 is allocated as the log area 2, and four logs 530 of NSID1 are stored therein.

また、論理ページ#1のアドレスPdから始まる領域はログ領域0として割り当てられ、ここにはNSID0のログ530が4個記憶されている。論理ページ#1のアドレスPeから始まる領域はログ領域3として割り当てられ、ここにはNSID3のログ530が7個記憶されている。 Further, the area starting from the address Pd of the logical page #1 is allocated as the log area 0, and four logs 530 of NSID0 are stored therein. The area starting from the address Pe of the logical page #1 is assigned as the log area 3, and seven logs 530 of NSID3 are stored therein.

この結果、図12bに示すように、NSID0のログ530を記憶している論理ページ400の番号(ログページ番号)は#0(開始アドレス=Pa、長さ=8)と#1(開始アドレス=Pd、長さ=4)に、NSID1のログページ番号は#0(開始アドレス=Pc、長さ=4)に、NSID2のログページ番号は#0(開始アドレス=Pb、長さ=2)に、NSID3のログページ番号は#1(開始アドレス=Pe、長さ=7)に、それぞれなっている。図12bに示すような各ログ領域の開始アドレス及び長さの情報は、ヘッダ情報として論理ページ400内に記憶されてもよい。 As a result, as shown in FIG. 12B, the numbers (log page numbers) of the logical pages 400 storing the log 530 of NSID 0 are #0 (start address=Pa, length=8) and #1 (start address= Pd, length=4), the log page number of NSID1 is #0 (start address=Pc, length=4), and the log page number of NSID2 is #0 (start address=Pb, length=2). , NSID3, the log page number is #1 (start address=Pe, length=7). Information on the start address and length of each log area as shown in FIG. 12b may be stored in the logical page 400 as header information.

なお、上記では各論理ページ400のログ領域を複数の領域に分け、それぞれにネームスペースごとのログ530が記憶される動作を説明した。これに対しユーザデータ500の記憶では、各論理ページ400のユーザデータ領域を複数の領域に分け、それぞれにネームスペースごとのユーザデータ500が記憶されてもよく、論理ページ400の1つのユーザデータ領域内に複数のネームスペースのユーザデータ500が記憶されてもよい。 In the above description, the log area of each logical page 400 is divided into a plurality of areas, and the log 530 for each namespace is stored in each area. On the other hand, in the storage of the user data 500, the user data area of each logical page 400 may be divided into a plurality of areas, and the user data 500 for each namespace may be stored in each area. User data 500 in multiple namespaces may be stored therein.

次に、図13を参照して、NS管理表540の構成を説明する。 Next, the configuration of the NS management table 540 will be described with reference to FIG.

NS管理表540には、位置情報群550が格納されているRAM30の物理アドレス、ログ530が記憶されている論理ブロック410の番号(ログブロック番号)、及び、後述する起動優先順位が、ネームスペースごとに記録されている。 In the NS management table 540, the physical address of the RAM 30 in which the position information group 550 is stored, the number (log block number) of the logical block 410 in which the log 530 is stored, and the startup priority order described later are namespaces. It is recorded for each.

NS管理表540は、記憶装置1が動作するための電力が供給されていない間はNAND型フラッシュメモリ20に格納されているが、記憶装置1への電力供給後は、他の情報に先立ってRAM30内、又は、CPU40内もしくはコントローラ10内の図示しないメモリ領域にコピーされる。 The NS management table 540 is stored in the NAND flash memory 20 while the power for operating the storage device 1 is not supplied, but after the power is supplied to the storage device 1, prior to other information. The data is copied to the RAM 30 or a memory area (not shown) in the CPU 40 or the controller 10.

なお、図11aのように各論理ブロック410内の固定された位置(番号)の論理ページ400をログ領域として割り当てる場合においても、ログ領域として割り当てる論理ページ番号をあらかじめネームスペースごとに固定しておけば、ログ530を記憶している論理ページ番号をNS管理表540に記録しないでもよい。 Even when the logical page 400 at a fixed position (number) in each logical block 410 is allocated as a log area as shown in FIG. 11a, the logical page number allocated as a log area should be fixed in advance for each namespace. For example, the logical page number storing the log 530 may not be recorded in the NS management table 540.

また、ログ領域を図12のように割り当てる場合には、NS管理表540にはログブロック番号ではなくログページ番号が記録される。または、上述したようにヘッダ情報が論理ページ400内に記憶される場合には、NS管理表540にはログブロック番号が記録されてもよい。この場合には、CPU40は、ログ530の読み出し時にヘッダ情報を読み取ることで、各論理ブロック410内のどのアドレスに、どのネームスペースのログ530が記憶されているのかを判断することができる。 Further, when the log area is allocated as shown in FIG. 12, the NS management table 540 records the log page number instead of the log block number. Alternatively, when the header information is stored in the logical page 400 as described above, the log block number may be recorded in the NS management table 540. In this case, the CPU 40 can determine at which address in each logical block 410 the log 530 of which namespace is stored by reading the header information when reading the log 530.

次に、図14を参照して、記憶装置1の起動時に位置情報群550を復元する動作を説明する。 Next, with reference to FIG. 14, an operation of restoring the position information group 550 when the storage device 1 is activated will be described.

記憶装置1の起動時、CPU40は、NS管理表540から起動優先順位を読み出し、起動優先順位の高いネームスペースから、ログブロック番号に従ってログ530を読み出す。前述したように、ログ530は翻訳情報(キャッシュ)510bの保存順に記憶されている。このため、ログ530をその記憶順に読み出すことで、一部のドライブLBAに対応する最新の位置情報560を復元することができる。 When the storage device 1 is activated, the CPU 40 reads the activation priority order from the NS management table 540, and reads the log 530 from the namespace having the higher activation priority order according to the log block number. As described above, the log 530 is stored in the order of saving the translation information (cache) 510b. Therefore, the latest position information 560 corresponding to some of the drive LBAs can be restored by reading the log 530 in the storage order.

図14に示す例では、CPU40は、ログ領域0内のログ530をその記憶順に読み出し、ドライブLBA「La」に対応するログ530Aより位置情報560Aとして物理アドレス「Pb」を復元する。また、ドライブLBA「Lc」に対応するログ530Bより位置情報560Cとして物理アドレス「Pd」を復元する。なお、この位置情報560Cは、後述するように後の動作で上書きされる。次に、ドライブLBA「Lb」に対応するログ530Cより位置情報560Dとして物理アドレス「Pc」が復元される。次に読み出されるログ530Dには、ドライブLBA「Lc」に対応する物理アドレス「Pf」が記録されている。この場合、位置情報560Cは、物理アドレス「Pd」から物理アドレス「Pf」に上書きされる。その後に読み出されるログ530Eには、ドライブLBA「Lf」に対応する物理アドレス「Pe」が記録されており、位置情報560Dは物理アドレス「Pe」として復元される。 In the example illustrated in FIG. 14, the CPU 40 reads the log 530 in the log area 0 in the order of storage, and restores the physical address “Pb” as the position information 560A from the log 530A corresponding to the drive LBA “La”. Further, the physical address “Pd” is restored as the position information 560C from the log 530B corresponding to the drive LBA “Lc”. The position information 560C is overwritten in a later operation as described later. Next, the physical address “Pc” is restored as the position information 560D from the log 530C corresponding to the drive LBA “Lb”. A physical address “Pf” corresponding to the drive LBA “Lc” is recorded in the log 530D read next. In this case, the position information 560C is overwritten from the physical address "Pd" to the physical address "Pf". A physical address “Pe” corresponding to the drive LBA “Lf” is recorded in the log 530E read thereafter, and the position information 560D is restored as the physical address “Pe”.

この時点では、各翻訳情報510はNAND型フラッシュメモリ20からRAM30にまだコピーされていないので、復元された各位置情報560において各翻訳情報510が格納されている場所は、NAND型フラッシュメモリ20となる。 At this point, since each translation information 510 has not been copied from the NAND flash memory 20 to the RAM 30, the location where each translation information 510 is stored in the restored position information 560 is the NAND flash memory 20. Become.

なお、ログ530を、その記憶順とは逆の順に読み出しても、一部のドライブLBAに対応する最新の位置情報560を復元することができる。この場合は、同一のドライブLBAに対応する、後から読み出されるログ530に記録されている物理アドレスは、位置情報560に反映されない。図14に示す例では、ドライブLBA「Lc」に対応するログ530は、ログ530Dが先に読み出され、ログ530Bが後から読み出される。位置情報560Cには、ログ530Dに記録されている物理アドレス「Pf」が反映され、ログ530Bに記録されている物理アドレス「Pd」は反映されない。 Even if the logs 530 are read out in the reverse order of the storage order, the latest position information 560 corresponding to some drive LBAs can be restored. In this case, the physical address recorded in the log 530 that is read later and corresponds to the same drive LBA is not reflected in the position information 560. In the example shown in FIG. 14, as for the log 530 corresponding to the drive LBA “Lc”, the log 530D is read first and the log 530B is read later. The physical information “Pf” recorded in the log 530D is reflected in the position information 560C, but the physical address “Pd” recorded in the log 530B is not reflected.

また、ログ領域がネームスペースごとに管理されていない場合には、CPU40は、ログ530に含まれるNSIDによって、いずれのネームスペースに対応するログ530であるのかを判断する。この場合、読み出したログ530が復元対象のネームスペースに対応するものであれば、CPU40は、そのログ530を位置情報群550の復元に用いる。一方、読み出したログ530が復元対象のネームスペースに対応するものでなければ、CPU40は、そのログ530を使用せず、次のログ530の読み出しを行う。 When the log area is not managed for each namespace, the CPU 40 determines which namespace corresponds to the log 530 based on the NSID included in the log 530. In this case, if the read log 530 corresponds to the name space to be restored, the CPU 40 uses the log 530 to restore the position information group 550. On the other hand, if the read log 530 does not correspond to the namespace to be restored, the CPU 40 reads the next log 530 without using the log 530.

本実施形態においては、NS管理表540の起動優先順位に従いネームスペースごとに位置情報群550が復元される。すなわち、記憶装置1の起動後、CPU40は起動優先順位が最も高いネームスペースの位置情報群550を最初に復元する。これが完了すると、CPU40は起動優先順位が次に高いネームスペースの位置情報群550の復元を順次開始する。 In this embodiment, the location information group 550 is restored for each namespace according to the activation priority order of the NS management table 540. That is, after starting the storage device 1, the CPU 40 first restores the position information group 550 of the namespace having the highest starting priority. When this is completed, the CPU 40 sequentially starts the restoration of the position information group 550 of the namespace with the second highest activation priority.

あるネームスペースのログ530がすべて読み出され、位置情報群550の復元が完了すると、そのネームスペースについてはユーザデータ500のリード・ライトが可能になる。すなわち、本実施形態においては、位置情報群550の復元が完了することによりそのネームスペースの起動が完了するので、各ログ530が、当該ネームスペースの起動情報であると考えることができる。 When all the logs 530 of a certain namespace are read and the restoration of the position information group 550 is completed, the user data 500 can be read/written for that namespace. That is, in the present embodiment, the restoration of the position information group 550 is completed, and thus the activation of the namespace is completed, so that each log 530 can be considered as the activation information of the namespace.

なお、翻訳情報510をNAND型フラッシュメモリ20に保存する際に、ネームスペースごとに分けて保存してもよい。この場合は、記憶装置1の起動後、あるネームスペースの位置情報群550の復元、及び、当該ネームスペースの翻訳情報510のRAM30へのコピーの完了により、当該ネームスペースの起動完了となる。 When the translation information 510 is stored in the NAND flash memory 20, it may be stored separately for each namespace. In this case, after the storage device 1 is activated, the location information group 550 of a certain namespace is restored, and the translation information 510 of the relevant namespace is copied to the RAM 30 to complete the activation of the relevant namespace.

次に、図15を参照して、翻訳情報510のRAM30へのキャッシュ動作を説明する。 Next, the cache operation of the translation information 510 in the RAM 30 will be described with reference to FIG.

本実施形態では、すべてのネームスペースについての位置情報群550の復元が完了した後、翻訳情報510aがNAND型フラッシュメモリ20から、翻訳情報(キャッシュ)510bとしてRAM30にコピーされる。翻訳情報510のRAM30へのコピー完了に伴い、これに対応する位置情報560の参照先はRAM30となる。 In the present embodiment, the translation information 510a is copied from the NAND flash memory 20 to the RAM 30 as translation information (cache) 510b after the restoration of the position information group 550 for all namespaces is completed. When the copy of the translation information 510 to the RAM 30 is completed, the reference destination of the corresponding position information 560 becomes the RAM 30.

なお、記憶装置全体の位置情報群550の復元が完了した後に翻訳情報510をRAM30がコピーされてもよく、あるネームスペースの位置情報群550の復元が完了するごとに、当該ネームスペースの翻訳情報510がRAM30へコピーされてもよい。 It should be noted that the translation information 510 may be copied to the RAM 30 after the restoration of the position information group 550 of the entire storage device is completed, and the translation information of the namespace is updated every time the restoration of the position information group 550 of a certain namespace is completed. 510 may be copied to RAM 30.

次に、図16a〜図16cを参照して、ホスト2への起動完了報告の一例を説明する。 Next, an example of the activation completion report to the host 2 will be described with reference to FIGS. 16a to 16c.

NS管理表540に記録されている起動優先順位は、図16aに示すようにNSID0が第3位、NSID1が第2位、NSID2が第1位、NSID3が第4位である。 As shown in FIG. 16a, NSID0 is the third highest, NSID1 is the second highest, NSID2 is the second highest, and NSID3 is the fourth highest, as shown in FIG. 16a.

図16bに示す例では、記憶装置1への電力が供給されると、起動優先順位が第1位であるNSID2の位置情報群550の復元が開始される。そして、NSID2の位置情報群550の復元が完了すると、記憶装置1はホスト2に対してNSID2の起動が完了した旨を報告する。その後、NS管理表540の起動優先順位に従い、NSID1の位置情報群550の復元及びホスト2への起動完了報告、NSID0の位置情報群550の復元及びホスト2への起動完了報告、NSID3の位置情報群550の復元及びホスト2への起動完了報告が行われる。すべてのネームスペースについて位置情報群550の復元が完了すると、記憶装置1の起動が完了した旨がホスト2へ報告される。 In the example shown in FIG. 16b, when power is supplied to the storage device 1, restoration of the position information group 550 of NSID2 having the first boot priority is started. Then, when the restoration of the position information group 550 of NSID2 is completed, the storage device 1 reports to the host 2 that the activation of NSID2 is completed. After that, according to the activation priority of the NS management table 540, the restoration of the location information group 550 of NSID1 and the activation completion report to the host 2, the restoration of the location information group 550 of NSID0 and the activation completion report to the host 2, the location information of NSID3 The restoration of the group 550 and the report of the completion of activation to the host 2 are performed. When the restoration of the position information group 550 is completed for all the namespaces, the fact that the storage device 1 has been activated is reported to the host 2.

図16bでは各ネームスペースの位置情報群550の復元完了に伴い、記憶装置1が自発的に当該ネームスペースの起動完了をホスト2に報告した。これに対し、図16cではホスト2からの問い合わせコマンドに対する応答として、起動完了したか、未完了であるかを報告する。 In FIG. 16B, the storage device 1 voluntarily reports to the host 2 that the activation of the relevant namespace has been completed upon completion of the restoration of the position information group 550 of each namespace. On the other hand, in FIG. 16c, as a response to the inquiry command from the host 2, whether the activation is completed or not is reported.

すなわち、図16cに例示するように、記憶装置1への電力の供給に伴い、起動優先順位が第1位であるNSID2の位置情報群550の復元が開始される。NSID2の位置情報群550の復元完了前に、ホスト2よりNSID2の起動が完了したか否かを問い合わせるコマンドを受信すると、記憶装置1は未完了である旨を報告する。また、NSID2の位置情報群550の復元中に、まだ位置情報群550の復元を開始していないNSID0の起動が完了したか否かを問い合わせるコマンドを受信した時も、同様に、記憶装置1は未完了である旨を報告する。そして、NSID2の位置情報群550の復元が完了後、NSID2の起動が完了したか否かを問い合わせるコマンドを受信すると、記憶装置1は完了している旨を報告する。なお、この例では、記憶装置1は、1つのネームスペースの位置情報群550の復元が完了すると、次の起動優先順位のネームスペースの位置情報群550の復元を開始する。すべてのネームスペースについて位置情報群550の復元が完了すると、記憶装置1の起動が完了した旨がホスト2へ報告される。 That is, as illustrated in FIG. 16c, with the supply of power to the storage device 1, restoration of the position information group 550 of the NSID 2 having the first boot priority is started. When a command inquiring whether or not the activation of NSID2 is completed is received from the host 2 before the restoration of the position information group 550 of NSID2 is completed, the storage device 1 reports that it is incomplete. Similarly, when the command for inquiring whether or not the activation of NSID0, which has not started the restoration of the position information group 550, is completed during the restoration of the position information group 550 of NSID2 is received, the storage device 1 similarly Report that it is incomplete. Then, after the restoration of the location information group 550 of NSID2 is completed, when a command inquiring whether the activation of NSID2 is completed is received, the storage device 1 reports that it is completed. In this example, when the storage device 1 completes the restoration of the position information group 550 of one namespace, the storage device 1 starts to restore the position information group 550 of the namespace of the next activation priority. When the restoration of the position information group 550 is completed for all the namespaces, the fact that the storage device 1 has been activated is reported to the host 2.

次に、図17を参照して、記憶装置1の起動時のFWの制御を説明する。 Next, with reference to FIG. 17, FW control at the time of starting the storage device 1 will be described.

記憶装置1への電力供給(S300)に伴いCPU40は、まずNS管理表540をNAND型フラッシュメモリ20から読み出す(S301)。次に、CPU40は起動優先順位を示す変数iを1に初期化し(S302)、NS管理表540の起動優先順位に従い、起動優先順位が最も高い(すなわちi=1)ネームスペースのログ領域からログ530を読み出し(S303)、RAM30上に位置情報群550を復元する(S304)。当該ネームスペースの位置情報群550の復元が完了するまで(S305:No)、CPU40は、ログ530の読み出し位置を更新し(S306)、ログ530の読み出し及びRAM30への復元を繰り返す(S303〜S306)。 With the power supply to the storage device 1 (S300), the CPU 40 first reads the NS management table 540 from the NAND flash memory 20 (S301). Next, the CPU 40 initializes the variable i indicating the activation priority to 1 (S302), and logs from the log area of the namespace having the highest activation priority (that is, i=1) according to the activation priority of the NS management table 540. 530 is read (S303), and the position information group 550 is restored on the RAM 30 (S304). Until the restoration of the location information group 550 of the namespace is completed (S305: No), the CPU 40 updates the read position of the log 530 (S306) and repeats the reading of the log 530 and the restoration to the RAM 30 (S303 to S306). ).

当該ネームスペースの位置情報群550の復元が完了すると(S305:Yes)、CPU40はホストIF制御部200に指示し、ホスト2に当該ネームスペースの起動完了を報告する(S307)。 When the restoration of the position information group 550 of the namespace is completed (S305: Yes), the CPU 40 instructs the host IF control unit 200 to report the completion of activation of the namespace to the host 2 (S307).

すべてのネームスペースの起動が完了していない場合(S308:No)、CPU40は起動優先順位を示す変数iをインクリメントさせ(S309)、起動優先順位がiであるネームスペースのログ領域からログ530を読み出し(S303)、RAM30上に位置情報群550を復元する(S304)。 When the activation of all namespaces is not completed (S308: No), the CPU 40 increments the variable i indicating the activation priority (S309), and outputs the log 530 from the log area of the namespace whose activation priority is i. The position information group 550 is read out (S303) and restored on the RAM 30 (S304).

すべてのネームスペースの起動が完了すると(S308:Yes)、CPU40はホストIF制御部200に指示し、ホスト2に記憶装置1の起動完了を報告する(S310)。 When the activation of all namespaces is completed (S308: Yes), the CPU 40 instructs the host IF control unit 200 to report the completion of activation of the storage device 1 to the host 2 (S310).

その後、翻訳情報510をNAND型フラッシュメモリ20からRAM30へキャッシュする(S311)。 After that, the translation information 510 is cached from the NAND flash memory 20 to the RAM 30 (S311).

次に、図18a及び図18bを参照して、起動優先順位を指定するコマンドの動作の一例を説明する。 Next, with reference to FIG. 18a and FIG. 18b, an example of the operation of the command that specifies the startup priority will be described.

図18aは、既存のネームスペースに対し起動優先順位を指定するコマンドの動作の一例である。図18aに示すように、例えば、ホスト2はNSID2の起動優先順位を第1位に指定する。このコマンドを受領した記憶装置1は、NS管理表540のNSID2の起動優先順位を第1位にした後、ホスト2に対して正常終了を報告する。 FIG. 18a is an example of an operation of a command for designating an activation priority for an existing namespace. As shown in FIG. 18a, for example, the host 2 designates the boot priority of the NSID 2 as the first priority. The storage device 1, which has received this command, reports the normal end to the host 2 after setting the activation priority of NSID 2 in the NS management table 540 to the first rank.

図18bは、ネームスペースの生成と同時に起動優先順位を指定するコマンドの動作の一例である。図18aに示すように、例えば、ホスト2は起動優先順位が第1位であるNSID2を生成するように要求する。このコマンドを受領した記憶装置1は、論理アドレス空間にNSID2の領域を割り当て、また、NS管理表540のNSID2の起動優先順位を第1位にした後、ホスト2に対して正常終了を報告する。 FIG. 18b is an example of the operation of the command that specifies the activation priority at the same time as the creation of the namespace. As shown in FIG. 18a, for example, the host 2 requests to generate the NSID 2 having the first boot priority. Upon receipt of this command, the storage device 1 allocates an area of NSID2 to the logical address space, sets the activation priority of NSID2 in the NS management table 540 to first, and then reports a normal end to the host 2. ..

なお、上記いずれのコマンドに対しても、ホスト2に要求された動作を行うことができない場合、又は、この動作に失敗した場合、記憶装置1はホスト2にエラーを報告する。 It should be noted that in response to any of the above commands, if the operation requested by the host 2 cannot be performed, or if this operation fails, the storage device 1 reports an error to the host 2.

ここまで説明したように、ホスト2は、記憶装置1に対しネームスペースごとの起動優先順位を指定することにより、記憶装置1の起動時に優先して使用したいネームスペースを指定することができる。 As described so far, the host 2 can designate the namespace to be preferentially used when the storage device 1 is activated by designating the activation priority for each namespace to the storage device 1.

次に、図19a及び図19bを参照して、ネームスペースごとの起動優先順位とネームスペースごとの用途、及び記憶装置1からの起動完了報告の一例を説明する。 Next, with reference to FIG. 19a and FIG. 19b, an example of the activation priority order for each namespace, the use for each namespace, and an activation completion report from the storage device 1 will be described.

ホスト2は、ネームスペースごとの用途、及び、起動優先順位をどのように設定するべきか決定する。ホスト2は、例えば各ネームスペースの用途を(a)ブートレコード、OSカーネルイメージを記憶するネームスペース、(b)OSの起動に必要なシステムファイルを記憶するネームスペース、(c)アプリケーションプログラムを記憶するネームスペース、(d)ユーザデータを記憶するネームスペース、(e)バックアップデータを記憶するネームスペースと決定する。また、ホスト2は、これらのネームスペースの起動優先順位を、(a)(b)(c)(d)(e)の順に高いものと決定する。そしてホスト2は記憶装置1に対し、起動優先順位を指定するコマンドを発行し、ネームスペースごとの起動優先順位を指定する。 The host 2 determines the usage for each namespace and how to set the activation priority. The host 2 stores, for example, the use of each namespace (a) a boot record, a namespace for storing an OS kernel image, (b) a namespace for storing a system file necessary for booting the OS, and (c) an application program. To be stored, (d) a namespace for storing user data, and (e) a namespace for storing backup data. Further, the host 2 determines that the activation priority of these namespaces is higher in the order of (a)(b)(c)(d)(e). Then, the host 2 issues a command for designating the boot priority order to the storage device 1, and designates the boot priority order for each namespace.

図19aに示す例では、NSID0は起動優先順位が第3位に設定され、アプリケーションプログラムを記憶するために使用されている。NSID1は起動優先順位が第2位に設定され、システムファイルを記憶するために使用されている。NSID2は起動優先順位が第1位に設定され、ブートレコード、OSカーネルイメージを記憶するために使用されている。NSID3は起動優先順位が第4位に設定され、ユーザデータを記憶するために使用されている。NSID4は起動優先順位が第5位に設定され、バックアップデータを記憶するために使用されている。 In the example shown in FIG. 19a, NSID0 has the startup priority set to the third rank and is used to store the application program. NSID1 has a startup priority of second and is used for storing system files. The NSID 2 has the boot priority set to the first rank and is used to store the boot record and the OS kernel image. The NSID 3 has a startup priority of 4th and is used to store user data. The NSID 4 has a startup priority of 5th and is used to store backup data.

このように各ネームスペースを設定することにより、ホスト2は他のユーザデータに先立ってOSの起動処理を行うことが可能となる。すなわち図19bに示すように、ホスト2は起動優先順位が第1位であるNSID2の起動完了報告を受領することにより、OSの起動処理を開始する。ホスト2は起動優先順位が第2位であるNSID1の起動完了報告を受領することにより、システムファイルの使用を開始する。ホスト2は起動優先順位が第3位であるNSID0の起動完了報告を受領することにより、アプリケーションプログラムの使用を開始する。これにより、記憶装置1全体の起動完了を待ってからホスト2がOSの起動処理を開始するようなシステムと比較して、システム全体としての起動時間を短縮することができる。 By setting each namespace in this way, the host 2 can perform the OS boot process prior to other user data. That is, as shown in FIG. 19B, the host 2 starts the OS boot process by receiving the boot completion report of the NSID 2 having the first boot priority. The host 2 starts the use of the system file by receiving the activation completion report of NSID1 having the second highest activation priority. The host 2 starts using the application program by receiving the activation completion report of NSID0 having the third highest activation priority. As a result, the boot time of the entire system can be shortened as compared with a system in which the host 2 starts the OS boot process after waiting for the boot of the entire storage device 1 to be completed.

また、システム起動時に優先的に使用したいユーザデータが記憶されているネームスペースを、優先的に起動させることができる。図19bの例では、ホスト2は起動優先順位が第4位であるNSID3の起動完了報告を受領することにより、ユーザデータの使用を開始する。ホスト2は起動優先順位が第5位であるNSID4の起動完了報告を受領することにより、バックアップデータの使用を開始する。 Further, it is possible to preferentially activate a namespace in which user data that is desired to be preferentially used when the system is activated is stored. In the example of FIG. 19b, the host 2 starts using the user data by receiving the activation completion report of NSID3 having the fourth activation priority. The host 2 starts to use the backup data by receiving the activation completion report of NSID 4 having the fifth activation priority.

次に、図20a及び図20bを参照して、ネームスペースごとの起動優先順位とネームスペースごとの用途、及び記憶装置1からの起動完了報告の別の一例を説明する。 Next, with reference to FIG. 20a and FIG. 20b, another example of activation priority order for each namespace, usage for each namespace, and activation completion report from the storage device 1 will be described.

図20aに示す例では、NSID0は起動優先順位が第3位に設定され、ユーザデータAを記憶するために使用されている。NSID1は起動優先順位が第2位に設定され、ユーザデータBを記憶するために使用されている。NSID2は起動優先順位が第1位に設定され、オペレーティングシステム(OS)を記憶するために使用されている。NSID3は起動優先順位が第4位に設定され、ユーザデータCを記憶するために使用されている。 In the example shown in FIG. 20a, NSID0 has the activation priority set to the third rank and is used to store the user data A. The NSID 1 has the activation priority set to the second rank and is used to store the user data B. The NSID 2 is set to have the first boot priority and is used to store the operating system (OS). The NSID 3 has the activation priority set to the fourth rank and is used to store the user data C.

ユーザデータA〜ユーザデータCは、例えば複数のユーザのバーチャルマシンイメージに対応する。ユーザデータBは、例えばユーザ全員が使用するデータに対応する。ユーザデータAは、例えば優先度の高いライセンス契約をしているユーザが使用するデータに対応する。ユーザデータCは、例えば優先度の低いライセンス契約をしているユーザが使用するデータに対応する。 User data A to user data C correspond to virtual machine images of a plurality of users, for example. The user data B corresponds to data used by all users, for example. The user data A corresponds to data used by a user who has a high-priority license contract, for example. The user data C corresponds to data used by a user who has a low-priority license contract, for example.

このように各ネームスペースを設定することにより、ホスト2は、システム起動時に優先的に使用したいユーザデータが記憶されているネームスペースを、優先的に起動させることができる。図20bの例では、ホスト2は起動優先順位が第2位であるNSID1の起動完了報告を受領することにより、ユーザデータBの使用を開始する。ホスト2は起動優先順位が第3位であるNSID0の起動完了報告を受領することにより、ユーザデータAの使用を開始する。ホスト2は起動優先順位が第4位であるNSID3の起動完了報告を受領することにより、ユーザデータCの使用を開始する。 By setting each namespace in this way, the host 2 can preferentially activate the namespace in which user data desired to be preferentially used at system startup is stored. In the example of FIG. 20b, the host 2 starts to use the user data B by receiving the activation completion report of NSID1 whose activation priority is second. The host 2 starts to use the user data A by receiving the activation completion report of NSID0 whose activation priority is the third highest. The host 2 starts to use the user data C by receiving the activation completion report of the NSID 3 having the fourth activation priority.

次に、図21a〜図21cを参照して、コマンドで指定された起動優先順位に重複があった場合の動作の一例を説明する。 Next, with reference to FIGS. 21a to 21c, an example of the operation in the case where the start priority orders designated by the commands overlap will be described.

図21bに示すように、例えば、NS管理表540に記録されている起動優先順位は、NSID0が第3位、NSID1が第2位、NSID2が第1位、NSID3が第4位、NSID4が第5位である。 As shown in FIG. 21B, for example, the activation priority order recorded in the NS management table 540 is as follows: NSID0 is third, NSID1 is second, NSID2 is first, NSID3 is fourth, and NSID4 is fourth. Fifth place.

この状態で、既存のネームスペースに対し起動優先順位を指定するコマンド(図18aのコマンド)によって、ホスト2がNSID4の起動優先順位を第3位に指定したとする。しかし、この時、起動優先順位の第3位はすでにNSID0に割り当てられている。このような場合、記憶装置1は、まず、コマンド指定の起動優先順位(第3位)をNSID4に設定する。また、既存のネームスペースのうち、コマンド指定のネームスペースではなく、且つ、コマンド指定の起動優先順位(第3位)以下の起動優先順位を有するネームスペースの起動優先順位は1つずつ低く設定される。すなわち、起動優先順位が第3位であったNSID0の起動優先順位は第4位に設定され、起動優先順位が第4位であったNSID3の起動優先順位は第5位に設定される。各ネームスペースの起動優先順位の設定が完了すると、記憶装置1はホスト2に対し、コマンドの正常終了を報告する。 In this state, it is assumed that the host 2 specifies the startup priority of NSID 4 to the third rank by the command (command of FIG. 18a) that specifies the startup priority for the existing namespace. However, at this time, the third rank of the activation priority is already assigned to NSID0. In such a case, the storage device 1 first sets the command-specified activation priority (3rd) to NSID4. In addition, among the existing namespaces, the startup priority of the namespace that is not the command-specified namespace and has a startup priority equal to or lower than the command-specified startup priority (3rd) is set one by one. It That is, the activation priority of NSID0 having the third activation priority is set to the fourth, and the activation priority of NSID3 having the fourth activation priority is set to the fifth. When the setting of the activation priority of each namespace is completed, the storage device 1 reports the normal end of the command to the host 2.

本コマンドで要求された動作が完了した後のNS管理表540は図21cに示すようになり、NSID0が第4位、NSID1が第2位、NSID2が第1位、NSID3が第5位、NSID4が第3位となる。 After the operation requested by this command is completed, the NS management table 540 becomes as shown in FIG. 21c, where NSID0 is fourth, NSID1 is second, NSID2 is first, NSID3 is fifth, and NSID4 is fifth. Is the third place.

次に、図22a〜図22cを参照して、コマンドで指定された起動優先順位に重複があった場合の動作の別の一例を説明する。ここではネームスペースの生成と同時に起動優先順位を指定するコマンド(図18bのコマンド)を受信した時の動作を説明する。なお、コマンド受信前のNS管理表540の状態を示す図22bは、図21bと等しい。 Next, with reference to FIGS. 22a to 22c, another example of the operation in the case where the start priorities designated by the commands overlap will be described. Here, the operation when a command (command in FIG. 18b) that specifies the activation priority is received at the same time when the namespace is generated will be described. Note that FIG. 22b showing the state of the NS management table 540 before command reception is the same as FIG. 21b.

ネームスペースの生成と同時に起動優先順位を指定するコマンドによって、ホスト2は起動優先順位が第3位であるNSID5を生成するように要求するが、起動優先順位の第3位はすでにNSID0に割り当てられている。このような場合、記憶装置1は、まずコマンド指定の起動優先順位(第3位)をNSID5に設定する。また、既存のネームスペースのうち、コマンド指定のネームスペースではなく、且つ、コマンド指定の起動優先順位(第3位)以下の起動優先順位を有するネームスペースの起動優先順位は1つずつ低く設定される。すなわち、起動優先順位が第3位であったNSID0の起動優先順位は第4位に設定され、起動優先順位が第4位であったNSID3の起動優先順位は第5位に設定され、起動優先順位が第5位であったNSID4の起動優先順位は第6位に設定される。NSID5の生成、及び、各ネームスペースの起動優先順位の設定が完了すると、記憶装置1はホスト2に対し、コマンドの正常終了を報告する。 At the same time as the creation of the namespace, the host 2 requests to generate NSID5 having the third boot priority by the command specifying the boot priority, but the third boot priority is already assigned to NSID0. ing. In such a case, the storage device 1 first sets the command-specified activation priority (3rd) to NSID 5. In addition, among the existing namespaces, the startup priority of the namespace that is not the command-specified namespace and has a startup priority equal to or lower than the command-specified startup priority (3rd) is set one by one. It That is, the startup priority of NSID0 having the third startup priority is set to the fourth, the startup priority of NSID3 having the fourth startup priority is set to the fifth, and the startup priority is set to the fifth. The activation priority of NSID4, which was ranked fifth, is set to sixth. When the generation of the NSID 5 and the setting of the activation priority order of each namespace are completed, the storage device 1 reports the normal end of the command to the host 2.

本コマンドで要求された動作が完了した後のNS管理表540は図22cに示すようになり、NSID0が第4位、NSID1が第2位、NSID2が第1位、NSID3が第5位、NSID4が第6位、NSID5が第3位となる。 After the operation requested by this command is completed, the NS management table 540 becomes as shown in FIG. 22c, where NSID0 is fourth, NSID1 is second, NSID2 is first, NSID3 is fifth, and NSID4 is fourth. Is the 6th place, and NSID 5 is the 3rd place.

図21a〜図21c、図22a〜図22cのいずれの場合においても、記憶装置1がホスト2に要求された動作を行うことができない場合、又は、この動作に失敗した場合、特に、起動優先順位の重複を許容しない場合は、記憶装置1はホスト2にエラーを報告するようにしてもよい。 21a to 21c and 22a to 22c, in the case where the storage device 1 cannot perform the operation requested by the host 2 or fails in this operation, in particular, the boot priority order. When the duplication of the above is not permitted, the storage device 1 may report an error to the host 2.

また、コマンド指定の起動優先順位がNS管理表540に反映された結果、NS管理表540に記録されている起動優先順位に不連続性が生じた場合には、記憶装置1は、起動優先順位が連続になるように起動優先順位を変更してもよい。例えば、コマンド指定の起動優先順位がNS管理表540に反映された結果、NS管理表540に記録されている起動優先順位が第1位、第2位、第4位となった場合に、NS管理表540を書き換え、起動優先順位が第1位、第2位、第3位となるように変更してもよい。 If the start priority order specified by the command is reflected in the NS management table 540 and as a result, the start priority order recorded in the NS management table 540 becomes discontinuous, the storage device 1 stores the start priority order. The activation priority order may be changed so that For example, when the start priority order designated by the command is reflected in the NS management table 540 and the start priority order recorded in the NS management table 540 is the first, second, and fourth positions, the NS The management table 540 may be rewritten to change the activation priority order to be first, second, and third.

次に、図23を参照して、起動優先順位を指定するコマンドを受信した時のFWの制御を説明する。 Next, with reference to FIG. 23, the control of the FW when the command designating the activation priority order is received will be described.

起動優先順位を指定するコマンドを受信(S400)すると、CPU40は、コマンドで指定されたネームスペース(指定ネームスペース)に、コマンドで指定された起動優先順位を設定する(S401)。次に、CPU40は、指定された起動優先順位が既存の起動優先順位と重複していないかをチェックする(S402)。 When the command designating the activation priority is received (S400), the CPU 40 sets the activation priority designated by the command in the namespace (designated namespace) designated by the command (S401). Next, the CPU 40 checks whether or not the designated boot priority order overlaps with the existing boot priority order (S402).

コマンドで指定された起動優先順位が既存の起動優先順位のいずれかと重複している場合(S402:Yes)、指定ネームスペース以外のネームスペースであって、コマンドで指定された起動優先順位以下の起動優先順位を有するネームスペースについては、起動優先順位が1ずつ低く設定される(S403)。 If the startup priority specified by the command overlaps with any of the existing startup priorities (S402: Yes), the startup is in a namespace other than the specified namespace and that is lower than the startup priority specified by the command. For a namespace having a priority, the activation priority is set lower by 1 (S403).

次にCPU40は、NS管理表540に記録されている起動優先順位に不連続性がないかをチェックする(S404)。起動優先順位に不連続性がある場合(S404:Yes)、CPU40は、不連続性を解消するように起動優先順位を変更してもよい(S405)。 Next, the CPU 40 checks whether or not the start priority order recorded in the NS management table 540 has discontinuity (S404). When there is discontinuity in the start priority order (S404: Yes), the CPU 40 may change the start priority order so as to eliminate the discontinuity (S405).

(S401)又は(S403)又は(S405)により、すべてのネームスペースについて起動優先順位の設定が完了すると、CPU40はホストIF制御部200に指示し、ホスト2にコマンドの正常終了を報告する(S406)。 When the setting of the boot priority is completed for all namespaces by (S401), (S403), or (S405), the CPU 40 instructs the host IF control unit 200 to report the normal termination of the command to the host 2 (S406). ).

次に、図24a〜図24cを参照して、起動優先順位を問い合わせるためのコマンドの動作の一例を説明する。 Next, with reference to FIGS. 24a to 24c, an example of the operation of the command for inquiring the activation priority will be described.

図24aに示すように、例えば、NS管理表540に記録されている起動優先順位は、NSID0が第3位、NSID1が第2位、NSID2が第1位、NSID3が第4位、NSID4が第5位である。 As shown in FIG. 24a, for example, the startup priority order recorded in the NS management table 540 is that NSID0 is third, NSID1 is second, NSID2 is first, NSID3 is fourth, and NSID4 is fourth. Fifth place.

図24bでは、記憶装置1はホスト2からNSID3の起動優先順位を問い合わせるコマンドを受信している。CPU40はNS管理表540を検索し、NSID3の起動優先順位(第4位)を取得した後、ホストIF制御部200に指示し、ホスト2に対してNSID3の起動優先順位として第4位を報告する。 In FIG. 24 b, the storage device 1 has received a command from the host 2 to inquire about the boot priority of NSID 3. The CPU 40 searches the NS management table 540, obtains the boot priority (4th) of the NSID 3, and then instructs the host IF control unit 200 to report the 4th boot priority of the NSID 3 to the host 2. To do.

図24cでは、記憶装置1はホスト2から起動優先順位が第4位であるネームスペースIDを問い合わせるコマンドを受信している。CPU40はNS管理表540を検索し、起動優先順位が第4位であるネームスペースID(NSID3)を取得した後、ホストIF制御部200に指示し、ホスト2に対して起動優先順位が第4位であるネームスペースIDとしてNSID3を報告する。 In FIG. 24c, the storage device 1 has received from the host 2 a command for inquiring about the namespace ID having the fourth activation priority. The CPU 40 searches the NS management table 540, obtains the namespace ID (NSID3) having the fourth activation priority, and then instructs the host IF control unit 200 to give the host 2 the fourth activation priority. Report NSID3 as the namespace ID, which is the rank.

なお、図24b・図24cのいずれの場合も、ホスト2からの問い合わせに適合するネームスペースID又は起動優先順位がNS管理表540に記録されていない場合には、記憶装置1はホスト2に対してエラーを報告する。 24b and FIG. 24c, if the namespace ID or the activation priority matching the inquiry from the host 2 is not recorded in the NS management table 540, the storage device 1 sends the host 2 And report the error.

以上説明した少なくとも1つの実施形態の記憶装置によれば、ホストがネームスペースごとの起動優先順位を指定し、記憶装置は起動優先順位の高いネームスペースから順に起動処理を行うので、システム全体としての起動時間を短縮することができる。 According to the storage device of at least one embodiment described above, the host specifies the startup priority for each namespace, and the storage device performs the startup processing in order from the namespace with the highest startup priority. The startup time can be shortened.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and modifications thereof are included in the scope and the gist of the invention, and are also included in the invention described in the claims and an equivalent range thereof.

1…記憶装置、2…ホスト、10…コントローラ、20…不揮発性記憶媒体、30…RAM、40…CPU、100…メモリチップ、200…ホストIF制御部、210…バッファ制御部、220…NAND制御部、300…物理ページ、310…物理ブロック、320…クラスタ、400…論理ページ、410…論理ブロック、500…ユーザデータ、510a…翻訳情報、510b…翻訳情報(キャッシュ)、520a…翻訳情報群、520b…翻訳情報群(キャッシュ)、530…ログ、540…NS管理表、550…位置情報群、560…位置情報 1... Storage device, 2... Host, 10... Controller, 20... Nonvolatile storage medium, 30... RAM, 40... CPU, 100... Memory chip, 200... Host IF control unit, 210... Buffer control unit, 220... NAND control Part, 300... Physical page, 310... Physical block, 320... Cluster, 400... Logical page, 410... Logical block, 500... User data, 510a... Translation information, 510b... Translation information (cache), 520a... Translation information group, 520b... Translation information group (cache), 530... Log, 540... NS management table, 550... Position information group, 560... Position information

Claims (12)

ホスト装置と、
前記ホスト装置と接続されている記憶装置と、
を備え、
前記記憶装置は、
前記ホスト装置から送信されるデータを記憶する不揮発性半導体メモリと、
前記ホスト装置との通信を制御し、前記不揮発性半導体メモリへの前記データの書き込み動作及び読み出し動作を制御するコントローラと、
を含み、
前記コントローラは、
前記データに対応付けられる論理アドレスの空間を複数の部分空間に分けて管理し、
前記記憶装置の起動に際して必要となる起動情報であって、前記論理アドレスと前記不揮発性半導体メモリの物理アドレスとの変換に必要な情報を、前記部分空間ごとの起動優先順位が識別可能となるように管理する
情報処理システム。
A host device,
A storage device connected to the host device;
Equipped with
The storage device is
A non-volatile semiconductor memory for storing data transmitted from the host device;
A controller that controls communication with the host device and controls write operation and read operation of the data to the nonvolatile semiconductor memory;
Including,
The controller is
The space of the logical address associated with the data is managed by being divided into a plurality of partial spaces,
Starting information required for starting the storage device, which is necessary for conversion between the logical address and the physical address of the non-volatile semiconductor memory, can be identified by the starting priority of each partial space. Information management system managed by.
前記コントローラは、
前記ホスト装置が前記部分空間のいずれかを指定して送信する第1のコマンドの指定に応じて前記起動優先順位を設定する
請求項1に記載の情報処理システム。
The controller is
The information processing system according to claim 1, wherein the host device sets the boot priority in accordance with a designation of a first command that designates and transmits one of the subspaces.
前記コントローラは、前記起動情報を前記不揮発性半導体メモリに記憶させるように制御する
請求項1に記載の情報処理システム。
The information processing system according to claim 1, wherein the controller controls the startup information to be stored in the nonvolatile semiconductor memory.
前記不揮発性メモリは複数の領域を有し、
前記複数の領域のうち1つの領域には、1つの前記部分空間に対応する複数の前記起動情報が記憶され、異なる2つ以上の前記部分空間に対応する前記起動情報は記憶されない
請求項3に記載の情報処理システム。
The non-volatile memory has a plurality of areas,
4. The one area of the plurality of areas stores a plurality of the startup information corresponding to one of the partial spaces, and the startup information corresponding to two or more different partial spaces is not stored. Information processing system described.
前記複数の領域はそれぞれが前記不揮発性メモリにおけるデータ消去の単位である
請求項4に記載の情報処理システム。
The information processing system according to claim 4, wherein each of the plurality of areas is a unit for erasing data in the nonvolatile memory.
前記コントローラは、
前記記憶装置の起動に際して、
前記起動情報を前記起動優先順位の高い順に読み出す
請求項1に記載の情報処理システム。
The controller is
When starting the storage device,
The information processing system according to claim 1, wherein the boot information is read in the descending order of boot priority.
前記コントローラは、
前記部分空間の起動が完了したことを前記部分空間ごとに前記ホスト装置に報告する
請求項6に記載の情報処理システム。
The controller is
The information processing system according to claim 6, wherein the completion of the activation of the partial spaces is reported to the host device for each of the partial spaces.
前記部分空間に属する論理アドレスに対応付けられるデータは、前記部分空間の起動が完了することにより、前記ホストからのコマンドに基づいて書き込みおよび読み出しが可能になる
請求項6に記載の情報処理システム。
7. The information processing system according to claim 6, wherein data associated with a logical address belonging to the partial space can be written and read based on a command from the host when the activation of the partial space is completed.
前記コントローラは、
前記ホスト装置が前記部分空間のいずれかを指定して送信する第1のコマンドの指定に応じて前記起動優先順位を設定し、
前記複数の部分空間は、
第1の部分空間と第2の部分空間を有し、
前記ホスト装置は、
ユーザデータが対応付けられている論理アドレスが属する前記第1の部分空間よりも、オペレーティングシステムカーネルが対応付けられている論理アドレスが属する前記第2の部分空間の前記起動優先順位を高く指定する
請求項6に記載の情報処理システム。
The controller is
The host device sets the activation priority in accordance with a designation of a first command which is designated and transmitted by one of the subspaces,
The plurality of subspaces are
Having a first subspace and a second subspace,
The host device is
A boot priority order of the second subspace to which the logical address to which the operating system kernel is associated belongs is specified to be higher than the first subspace to which the logical address to which user data is associated belongs. Item 6. The information processing system according to item 6.
前記コントローラは、
前記ホスト装置が前記部分空間のいずれかを指定して送信する第1のコマンドの指定に応じて前記起動優先順位を設定し、
前記複数の部分空間は、
第3の部分空間と第4の部分空間を有し、
前記ホスト装置は、
第1の優先度の契約をしているユーザより第2の優先度の契約をしているユーザの優先度が高い場合、
前記第1の優先度の契約をしているユーザのユーザデータが対応付けられている論理アドレスが属する前記第3の部分空間よりも、前記第2の優先度の契約をしているユーザのユーザデータが対応付けられている論理アドレスが属する前記第4の部分空間の前記起動優先順位を高く指定する
請求項6に記載の情報処理システム。
The controller is
The host device sets the activation priority in accordance with a designation of a first command which is designated and transmitted by one of the subspaces,
The plurality of subspaces are
Has a third subspace and a fourth subspace,
The host device is
When the user who has the contract of the second priority has a higher priority than the user who has the contract of the first priority,
A user of a user who has a contract with the second priority rather than the third partial space to which the logical address associated with the user data of the user with the first priority contract belongs. The information processing system according to claim 6, wherein the start priority of the fourth subspace to which the logical address to which the data is associated belongs is designated to be high.
前記ホスト装置と前記記憶装置はNVMe規格に基づいて通信し、前記部分空間はネームスペースである
請求項1に記載の情報処理システム。
The information processing system according to claim 1, wherein the host device and the storage device communicate with each other based on the NVMe standard, and the partial space is a namespace.
ホスト装置と、
前記ホスト装置と接続されている記憶装置と、
を備え、
前記記憶装置は、
前記ホスト装置から送信されるデータを記憶する不揮発性半導体メモリと、
前記ホスト装置との通信を制御し、前記不揮発性半導体メモリへの前記データの書き込み動作及び読み出し動作を制御するコントローラと、
を含み、
前記記憶装置は、
複数の部分空間ごとに、論理アドレスと前記不揮発性半導体メモリの物理アドレスとの変換に必要な情報である起動情報によって起動し、
前記複数の部分空間は、前記データに対応付けられる前記論理アドレスの空間から分けられ、前記複数の部分空間のそれぞれに起動優先順位が定義されており、
前記コントローラは、
前記起動優先順位に従って前記部分空間ごとに前記記憶装置が起動可能なように、前記起動情報を管理する
情報処理システム。
A host device,
A storage device connected to the host device;
Equipped with
The storage device is
A non-volatile semiconductor memory for storing data transmitted from the host device;
A controller that controls communication with the host device and controls write operation and read operation of the data to the nonvolatile semiconductor memory;
Including,
The storage device is
For each of the plurality of subspaces, start-up is performed by the start-up information that is information necessary for conversion between the logical address and the physical address of the nonvolatile semiconductor memory,
The plurality of subspaces are divided from the space of the logical address associated with the data, and the activation priority order is defined in each of the plurality of subspaces,
The controller is
An information processing system that manages the boot information so that the storage device can be booted for each of the partial spaces according to the boot priority.
JP2020027984A 2016-08-24 2020-02-21 Information processing system Active JP6895551B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020027984A JP6895551B2 (en) 2016-08-24 2020-02-21 Information processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016164016A JP6666813B2 (en) 2016-08-24 2016-08-24 Storage device and control method thereof
JP2020027984A JP6895551B2 (en) 2016-08-24 2020-02-21 Information processing system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016164016A Division JP6666813B2 (en) 2016-08-24 2016-08-24 Storage device and control method thereof

Publications (2)

Publication Number Publication Date
JP2020102237A true JP2020102237A (en) 2020-07-02
JP6895551B2 JP6895551B2 (en) 2021-06-30

Family

ID=71141312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020027984A Active JP6895551B2 (en) 2016-08-24 2020-02-21 Information processing system

Country Status (1)

Country Link
JP (1) JP6895551B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020245A (en) * 1998-01-21 2000-01-21 Mylex Corp Device and method for automatic configuration of raid controller
JP2011154516A (en) * 2010-01-27 2011-08-11 Fujitsu Ltd Storage management apparatus, storage system, storage management program and storage management method
JP2012128545A (en) * 2010-12-14 2012-07-05 Hitachi Ltd Memory controller and data recording apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020245A (en) * 1998-01-21 2000-01-21 Mylex Corp Device and method for automatic configuration of raid controller
JP2011154516A (en) * 2010-01-27 2011-08-11 Fujitsu Ltd Storage management apparatus, storage system, storage management program and storage management method
JP2012128545A (en) * 2010-12-14 2012-07-05 Hitachi Ltd Memory controller and data recording apparatus

Also Published As

Publication number Publication date
JP6895551B2 (en) 2021-06-30

Similar Documents

Publication Publication Date Title
JP6666813B2 (en) Storage device and control method thereof
KR101086857B1 (en) Control Method of Solid State Storage System for Data Merging
US9454317B2 (en) Tiered storage system, storage controller and method of substituting data transfer between tiers
JP5646633B2 (en) Storage device
US9990277B2 (en) System and method for efficient address translation of flash memory device
WO2015076354A1 (en) Storage device, method, and program
JP6403164B2 (en) Memory system
CN107908571B (en) Data writing method, flash memory device and storage equipment
US8862819B2 (en) Log structure array
WO2016056104A1 (en) Storage device and memory control method
US20190243758A1 (en) Storage control device and storage control method
US10049042B2 (en) Storage device, semiconductor memory device, and method for controlling same
JP5730446B1 (en) Hierarchical storage system with trial area, storage controller and program
US9547450B2 (en) Method and apparatus to change tiers
US10162573B2 (en) Storage management system, storage management method, storage medium and information processing system
JP6895551B2 (en) Information processing system
CN107562639B (en) Erase block read request processing method and device
JP6022116B1 (en) Hierarchical storage system, storage controller, and replication initialization method
JP2006252137A (en) Optimization method for nonvolatile storage device
KR102546740B1 (en) Storage device, operating method thereof, and storage system comprising thereof
JP6652605B2 (en) Memory system control method
JP5648918B2 (en) Storage system, storage device, and snapshot processing method
WO2018051446A1 (en) Computer system including storage system having optional data processing function, and storage control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210120

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: 20210507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210607

R150 Certificate of patent or registration of utility model

Ref document number: 6895551

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150