JPWO2015083225A1 - Information processing apparatus, storage, and access control method - Google Patents

Information processing apparatus, storage, and access control method Download PDF

Info

Publication number
JPWO2015083225A1
JPWO2015083225A1 JP2015531385A JP2015531385A JPWO2015083225A1 JP WO2015083225 A1 JPWO2015083225 A1 JP WO2015083225A1 JP 2015531385 A JP2015531385 A JP 2015531385A JP 2015531385 A JP2015531385 A JP 2015531385A JP WO2015083225 A1 JPWO2015083225 A1 JP WO2015083225A1
Authority
JP
Japan
Prior art keywords
storage
data
channel
block
writing
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.)
Pending
Application number
JP2015531385A
Other languages
Japanese (ja)
Inventor
秋保 晋
晋 秋保
早坂 和美
和美 早坂
雅紀 日下田
雅紀 日下田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2015083225A1 publication Critical patent/JPWO2015083225A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本発明を適用した1システムは、処理部と、ブロック単位でデータの消去が行われる複数の記憶装置と、それぞれ、複数の記憶装置のなかで割り当てられた1つ以上の記憶装置上に存在する、データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、複数の記憶装置へのデータの書き込みを要求する書込命令を処理部が発行した場合、複数の記憶部のなかで制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、書込命令により要求されたデータを書き込むアクセス部と、を有する。One system to which the present invention is applied exists on a processing unit, a plurality of storage devices from which data is erased in units of blocks, and one or more storage devices allocated among the plurality of storage devices. A plurality of storage units used for storing control information representing spare blocks that are blocks for writing data, and a processing unit that issues a write command for requesting data writing to a plurality of storage devices, a plurality of An access unit that selects a storage unit that uses control information from among the storage units, and writes data requested by a write command to a spare block specified by the control information stored in the selected storage unit; Have

Description

本発明は、ブロック単位でデータの消去を行う複数の記憶装置を管理するための技術に関する。   The present invention relates to a technique for managing a plurality of storage devices that erase data in units of blocks.

現在の情報処理装置(コンピュータ)の大部分には、不揮発性の半導体メモリが搭載されている。不揮発性の半導体メモリの一種であるフラッシュメモリは、近年、ストレージにも広く採用されている。SSD(Solid State Drive)は、フラッシュメモリを記憶媒体として採用している代表的なストレージである。フラッシュメモリが広く採用されるようになったのは、大容量のフラッシュメモリが比較的に安価になった、磁気ディスク装置(例えばハードディスク装置)などと比較して動作速度が高速である、といった理由からである。   Most current information processing apparatuses (computers) are equipped with nonvolatile semiconductor memories. In recent years, flash memory, which is a kind of nonvolatile semiconductor memory, has been widely used for storage. An SSD (Solid State Drive) is a typical storage that employs a flash memory as a storage medium. Flash memory has come to be widely adopted because large-capacity flash memory has become relatively inexpensive and has a higher operating speed than magnetic disk devices (for example, hard disk devices). Because.

フラッシュメモリには、NAND型と、NOR型とがある。ここでは便宜的に、NAND型のフラッシュメモリ(以降「NANDフラッシュメモリ」と表記。NOR型のフラッシュメモリは「NORフラッシュメモリ」と表記)を例にとり、一般的な制御方法について説明する。   Flash memory includes NAND type and NOR type. Here, for the sake of convenience, a general control method will be described by taking a NAND flash memory (hereinafter referred to as “NAND flash memory”; NOR flash memory is referred to as “NOR flash memory”) as an example.

NANDフラッシュメモリは、NORフラッシュメモリと比較して、大容量化(高集積化)が容易であり、且つ書き込みを高速に行えるという利点を備えている。しかし、NANDフラッシュメモリでは、1バイト単位の読み出しはできず、ランダムアクセスによる読み出しはNORフラッシュメモリよりも低速であるという欠点を有する。NANDフラッシュメモリ、及びNORフラッシュメモリは共に、数KBから数十KB程度のブロック単位でしか消去・書き込みができない。   Compared with a NOR flash memory, a NAND flash memory has the advantages that it is easy to increase the capacity (high integration) and can perform writing at high speed. However, the NAND flash memory cannot be read in units of 1 byte, and has a disadvantage that reading by random access is slower than the NOR flash memory. Both the NAND flash memory and the NOR flash memory can be erased / written only in block units of several KB to several tens KB.

NANDフラッシュメモリでは、通常、読み出し・書き込みはページ単位で実行され、消去は複数ページ分の容量を有する「ブロック」と呼ばれる単位で実行される。ページを書き込んだブロックには直ちに上書きを行うことはできない。上書きを行う場合、そのページが書き込まれたブロックを消去した後、上書きすべきページ、及びそのブロックの他のページを書き込まなければならない。多くの場合、書き込むべきページは、そのページが書き込まれているブロックの他のページと共に、別のブロックに書き込まれる。   In the NAND flash memory, reading / writing is normally performed in units of pages, and erasing is performed in units called “blocks” having a capacity for a plurality of pages. The block where the page is written cannot be overwritten immediately. When overwriting, after erasing the block in which the page is written, the page to be overwritten and the other pages of the block must be written. In many cases, the page to be written is written to another block along with other pages in the block where the page is written.

フラッシュメモリの記憶素子(セル)では、絶縁体となる酸化膜はその酸化膜を貫通する電子によって劣化する。そのため、各ブロックの消去・書き込み可能回数には限界がある。このことから、フラッシュメモリでは、特定のブロックに対する消去・書き込みが集中しないように平準化するアクセス制御が行われる。その平準化のアクセス制御のために、フラッシュメモリには、そのフラッシュメモリへのアクセスを制御するコントローラが用意されるのが普通である。   In a memory element (cell) of a flash memory, an oxide film serving as an insulator is deteriorated by electrons penetrating the oxide film. Therefore, there is a limit to the number of times that each block can be erased and written. For this reason, in the flash memory, access control for leveling is performed so that erasure / writing to a specific block is not concentrated. In order to control access for leveling, a flash memory is usually provided with a controller that controls access to the flash memory.

特定のブロックへの消去・書き込みが集中しないようにする平準化のための従来のアクセス制御方法としては、FIFO(First In First Out)を用いたものがある。   As a conventional access control method for leveling to prevent concentration of erasing / writing to a specific block, there is a method using FIFO (First In First Out).

この従来のアクセス制御方法では、NANDフラッシュメモリのなかで未使用のブロックをデータ書き込み用の予備ブロックとして、その予備ブロックを表す制御情報をFIFOに格納する。ページの書き込みを行う場合、そのページは、そのページが書き込まれているブロックの他のページと共に、FIFOから出力される制御情報によって特定される予備ブロックに書き込む。そのページが書き込まれているブロックは消去して予備ブロックとし、その予備ブロックの制御情報をFIFOに登録する。   In this conventional access control method, an unused block in the NAND flash memory is used as a spare block for writing data, and control information representing the spare block is stored in the FIFO. When writing a page, the page is written in a spare block specified by the control information output from the FIFO together with other pages of the block in which the page is written. The block in which the page is written is erased as a spare block, and the control information of the spare block is registered in the FIFO.

そのようにして、この従来のアクセス制御方法では、新たに発生した予備ブロックは、その時点で存在する予備ブロックのなかで最後に割り当てるように管理される。このため、特定のブロックに対する消去・書き込みが集中するのが回避され、予備ブロックの割り当ては平準化される。   As such, in this conventional access control method, a newly generated spare block is managed so as to be allocated last among the spare blocks existing at that time. For this reason, concentration of erasing / writing on a specific block is avoided, and the allocation of spare blocks is leveled.

この従来のアクセス制御方法では、FIFOは1つのみ用いられる。そのため、予備ブロックのなかで割り当ての対象となる予備ブロックは固定的に決定される。割り当ての対象となる予備ブロックを固定的に決定する結果、システム構成、或いは状況に応じて、アクセス速度を大きく低下させる場合がある。   In this conventional access control method, only one FIFO is used. Therefore, the spare block to be allocated among the spare blocks is fixedly determined. As a result of fixedly determining the spare block to be allocated, the access speed may be greatly reduced depending on the system configuration or the situation.

例えば複数のNANDフラッシュメモリが複数のチャネルでコントローラと接続されているシステム構成では、チャネル毎にNANDフラッシュメモリへのアクセスが可能である。それにより、このシステム構成では、或るチャネルを用いたアクセスが行われている、或いはアクセスが行われる状況下で、そのチャネルを用いてアクセスする予備ブロックが割り当てられる場合がある。   For example, in a system configuration in which a plurality of NAND flash memories are connected to a controller through a plurality of channels, the NAND flash memory can be accessed for each channel. As a result, in this system configuration, there is a case where a spare block to be accessed using the channel is allocated under a situation where access using the channel is performed or access is performed.

予備ブロックが、アクセスが集中しているチャネルを介してアクセスしなければならない場合、アクセスが集中しているほど、待ち時間は長くなる。その結果、予備ブロックへのデータの書き込みに要する時間は長くなり、アクセス速度は大きく低下する。また、予備ブロックにデータを書き込ませるアクセス以降に行われるアクセスのアクセス速度を大きく低下させる可能性もある。   If a spare block must be accessed through a channel where access is concentrated, the more concentrated the access, the longer the latency. As a result, the time required for writing data to the spare block becomes longer and the access speed is greatly reduced. In addition, there is a possibility that the access speed of access performed after the access for writing data in the spare block is greatly reduced.

アクセスの集中自体は、ガーベジコレクション、或いはデータ更新等を行う場合に発生しやすい。FIFOには、過去の状況に応じて予備ブロックの制御情報が格納される。そのため、FIFOが出力する制御情報によって、予備ブロックは現在の状況とは無関係に選択される。従い、アクセスが集中しているチャネルを介してアクセスする予備ブロックが連続して選択される可能性もある。   Concentration of access itself tends to occur when garbage collection or data update is performed. In the FIFO, control information of spare blocks is stored according to the past situation. Therefore, the spare block is selected regardless of the current situation based on the control information output from the FIFO. Accordingly, there is a possibility that spare blocks to be accessed through channels where access is concentrated are continuously selected.

NANDフラッシュメモリでは、データの書き込みのためのアクセスが行われる場合、ブロックの消去のためのアクセスも行われる。そのため、同じ領域にデータの上書きを行える半導体メモリを採用した場合と比較して、単位時間当たりに要求されるアクセス数(発行される命令数)は多くなりやすい。これは、アクセスの集中が発生しやすいことを意味する。   In the NAND flash memory, when an access for writing data is performed, an access for erasing a block is also performed. For this reason, the number of accesses required per unit time (the number of issued instructions) is likely to increase compared to the case where a semiconductor memory capable of overwriting data in the same area is employed. This means that access concentration is likely to occur.

アクセス速度は、アクセスが集中するほど、つまり、単位時間当たりのアクセス数が多くなるほど、低下しやすい。そのアクセス速度自体は、性能に大きく影響する。データを書き込む予備ブロックは、基本的に、任意に選択可能である。このことから、予備ブロックへのデータの書き込みのためのアクセスでは、アクセス速度の低下を抑えることも重要と思われる。このことは、データの上書きが直ちに行えない記憶装置全般に云えることである。   The access speed tends to decrease as the access concentrates, that is, as the number of accesses per unit time increases. The access speed itself greatly affects performance. The spare block for writing data can basically be arbitrarily selected. For this reason, it is considered important to suppress a decrease in access speed in access for writing data to the spare block. This is true for all storage devices that cannot immediately overwrite data.

特開平7−78485号公報Japanese Patent Laid-Open No. 7-78485 特開平5−198198号公報Japanese Patent Laid-Open No. 5-198198 特開2006−252695号公報JP 2006-252695 A

1側面では、本発明は、データの上書きが直ちに行えない記憶装置へのアクセス速度の低下を抑制するための技術を提供することを目的とする。   In one aspect, an object of the present invention is to provide a technique for suppressing a decrease in access speed to a storage device in which data cannot be overwritten immediately.

本発明を適用した1システムは、処理部と、ブロック単位でデータの消去が行われる複数の記憶装置と、それぞれ、複数の記憶装置のなかで割り当てられた1つ以上の記憶装置上に存在する、データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、複数の記憶装置へのデータの書き込みを要求する書込命令を処理部が発行した場合、複数の記憶部のなかで制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、書込命令により要求されたデータを書き込むアクセス部と、を有する。   One system to which the present invention is applied exists on a processing unit, a plurality of storage devices from which data is erased in units of blocks, and one or more storage devices allocated among the plurality of storage devices. A plurality of storage units used for storing control information representing spare blocks that are blocks for writing data, and a processing unit that issues a write command for requesting data writing to a plurality of storage devices, a plurality of An access unit that selects a storage unit that uses control information from among the storage units, and writes data requested by a write command to a spare block specified by the control information stored in the selected storage unit; Have

本発明を適用した1システムでは、データの上書きが直ちに行えない記憶装置へのアクセス速度の低下を抑制することができる。   In one system to which the present invention is applied, it is possible to suppress a decrease in access speed to a storage device in which data cannot be overwritten immediately.

本実施形態による情報処理装置の構成例を説明する図である。It is a figure explaining the structural example of the information processing apparatus by this embodiment. SSDの構成例を説明する図である。It is a figure explaining the structural example of SSD. 書き込み制御機構の機能構成例を説明する図である。It is a figure explaining the functional structural example of a write-control mechanism. SSDへのデータの書き込み時のコントローラの動作を説明する図である。It is a figure explaining operation | movement of the controller at the time of the writing of the data to SSD. データの書き込み時に各チャネルを介して行われるアクセス例を説明するタイムチャートである。It is a time chart explaining the example of access performed via each channel at the time of data writing. データ書き込み時のコントローラの動作を表すフローチャートである。It is a flowchart showing operation | movement of the controller at the time of data writing.

以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態による情報処理装置の構成例を説明する図である。本実施形態による情報処理装置は、例えばサーバであり、図1に表すように、2個のCPU(Central Processing Unit)1(1−1、1−2)、2つのメモリ2(2−1、2−2)、2台のSSD(Solid State Drive)3(3−0、3−1)、I/O(Input/Output)ハブ4、及びFWH(FirmWare Hub)5を備えている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram illustrating a configuration example of the information processing apparatus according to the present embodiment. The information processing apparatus according to the present embodiment is, for example, a server, and as illustrated in FIG. 1, two CPUs (Central Processing Unit) 1 (1-1, 1-2), two memories 2 (2-1, 2-2) Two SSDs (Solid State Drives) 3 (3-0, 3-1), an I / O (Input / Output) hub 4 and an FWH (FirmWare Hub) 5 are provided.

各SSD3は、本実施形態によるストレージである。2台のSSD3は、例えば冗長化のために情報処理装置に搭載されている。各CPU1は、FWH5に格納されているファームウェアをメモリ2に読み出して実行することにより、各SSD3へのアクセスが可能となる。   Each SSD 3 is a storage according to the present embodiment. The two SSDs 3 are mounted on the information processing apparatus for redundancy, for example. Each CPU 1 can access each SSD 3 by reading the firmware stored in the FWH 5 into the memory 2 and executing it.

各SSD3には、例えば各CPU1が処理に用いるデータの他に、各CPU1が実行するプログラム、具体的にはOS(Operating System)、及びアプリケーション・プログラム等が格納されている。このOSには、SSD3を含む各種記憶装置上のデータ、及び各種記録媒体上のデータを管理するためのプログラムであるファイルシステムが搭載されている。また、OSは、仮想記憶をサポートしている。   Each SSD 3 stores, for example, a program executed by each CPU 1, specifically an OS (Operating System), an application program, and the like in addition to data used by each CPU 1 for processing. The OS includes a file system that is a program for managing data on various storage devices including the SSD 3 and data on various recording media. The OS also supports virtual storage.

各SSD3には、コントローラ(図1中「NAND Controller」と表記)30、及び複数のNANDフラッシュメモリ(図1中「Device」と表記。以降「デバイス」と表記する)31(31−0−0〜31−n−2)が含まれる。コントローラ30と各デバイス31は計n+1個のチャネルで接続されている。   Each SSD 3 includes a controller (indicated as “NAND Controller” in FIG. 1) 30 and a plurality of NAND flash memories (indicated as “Device” in FIG. 1; hereinafter referred to as “device”) 31 (31-0-0). ~ 31-n-2). The controller 30 and each device 31 are connected by a total of n + 1 channels.

本実施形態では、各チャネルに3個のデバイス31が接続されている。デバイス31に符号として付した「31−0−0」の最後の「0」は、同じチャネルに接続されているデバイス31間の識別情報であるデバイス番号が「0」であることを表している。その前の「0」は、チャネルの識別情報として割り当てられた番号(チャネル番号)が0であることを表している。それにより、「31−0−0」は、チャネル番号が0のチャネルに接続されているデバイス番号が0のデバイス31であることを表している。また、「31−n−1」は、チャネル番号がnのチャネルに接続されているデバイス番号が1のデバイス31であることを表している。   In the present embodiment, three devices 31 are connected to each channel. The last “0” of “31-0-0” attached to the device 31 as a code indicates that the device number, which is identification information between the devices 31 connected to the same channel, is “0”. . The preceding “0” indicates that the number (channel number) assigned as channel identification information is 0. As a result, “31-0-0” represents that the device 31 has a device number 0 connected to a channel having a channel number 0. Further, “31-n−1” represents that the device 31 with the device number connected to the channel with the channel number n is 1.

図2は、SSDの構成例を説明する図である。図2に表すように、コントローラ30には、各チャネルに3つのデバイス31が接続されている。コントローラ30は、アドレス変換部301、デマルチプレクサ302、書き込み制御機構303、データキュー304、複数のFIFO305(305−0−0〜305−n−2)、及びマルチプレクサ306を備えている。図2では、各CPU1と、各SSD3との間に存在するI/Oハブ4は便宜的に省いている。   FIG. 2 is a diagram for explaining a configuration example of an SSD. As shown in FIG. 2, the controller 30 has three devices 31 connected to each channel. The controller 30 includes an address conversion unit 301, a demultiplexer 302, a write control mechanism 303, a data queue 304, a plurality of FIFOs 305 (305-0-0 to 305-n-2), and a multiplexer 306. In FIG. 2, the I / O hub 4 existing between each CPU 1 and each SSD 3 is omitted for convenience.

FIFO305に符号として付した「305−0−0」は、デバイス31と同様に、チャネル番号が0のチャネルに接続されているデバイス番号が0のデバイス31−0−0用のFIFO31であることを表している。図2中に表記の「CH#0 DEV#0用」は、このことを表している。つまり「CH#0」「DEV#0」はそれぞれ、チャネル番号が0のチャネル、デバイス番号が0のデバイス31を表している。また、「305−n−2」は、チャネル番号がnのチャネルに接続されているデバイス番号が2のデバイス31−n−2用のFIFO31であることを表している。図2中に表記の「CH#n DEV#2用」は、このことを表している。このように、本実施形態では、FIFO305は、チャネル毎、デバイス31毎に設けられている。   “305-0-0” added to the FIFO 305 as a code indicates that the device 31 connected to the channel with the channel number 0 is the FIFO 31 for the device 31-0-0 with the device number 0, as with the device 31. Represents. “CH # 0 for DEV # 0” shown in FIG. 2 represents this. That is, “CH # 0” and “DEV # 0” represent the channel with the channel number 0 and the device 31 with the device number 0, respectively. Further, “305-n-2” represents that the FIFO 31 for the device 31-n-2 whose device number is 2 connected to the channel whose channel number is n. “CH # n DEV # 2” shown in FIG. 2 represents this. As described above, in this embodiment, the FIFO 305 is provided for each channel and for each device 31.

CPU1は、SSD3にアクセスを行う場合、コマンドを発行する。そのコマンドは、データの読み出しを要求するリードコマンドの場合、コマンドの種類を表すコマンド種別データ、及びアクセス先を表す論理アドレスを含む。データの書き込みを要求するライトコマンドでは、他に、書き込むべきデータ(ページ)を含む。論理アドレスはアドレス変換部301に入力される。コマンド種別データは書き込み制御機構303に、データ(ページ)はデータキュー304にそれぞれ入力される。   The CPU 1 issues a command when accessing the SSD 3. In the case of a read command for requesting data reading, the command includes command type data indicating the command type and a logical address indicating the access destination. The write command that requests data writing includes data (page) to be written. The logical address is input to the address conversion unit 301. Command type data is input to the write control mechanism 303, and data (page) is input to the data queue 304.

CPU1が実行するOSは、仮想記憶をサポートする。そのため、CPU1は、データを論理アドレスで扱う。しかし、デバイス31へのアクセスは、物理アドレスで行わなければならない。このことから、アドレス変換部301は、入力した論理アドレスを物理アドレスに変換する。   The OS executed by the CPU 1 supports virtual storage. Therefore, the CPU 1 handles data with logical addresses. However, access to the device 31 must be made with a physical address. Accordingly, the address conversion unit 301 converts the input logical address into a physical address.

図4は、SSDへのデータの書き込み時のコントローラの動作を説明する図である。その図4では、理解を容易とするために、想定するデバイス31は1つのみとしている。ここで図4を参照し、ライトコマンド発行時におけるアドレス変換部301を含むコントローラ30の動作について具体的に説明する。   FIG. 4 is a diagram for explaining the operation of the controller when data is written to the SSD. In FIG. 4, for the sake of easy understanding, only one device 31 is assumed. Now, with reference to FIG. 4, the operation of the controller 30 including the address conversion unit 301 when the write command is issued will be specifically described.

SSD3に搭載されている各デバイス31は、ブロックと呼ばれる記憶領域単位でしか消去・書き込みを行うことができない。仮想記憶を用いる情報処理装置では、通常、データの読み出し・書き込みはページ単位で実行される。ブロックは、複数ページ分の容量を有する。   Each device 31 mounted on the SSD 3 can be erased and written only in units of storage areas called blocks. In an information processing apparatus using virtual storage, data reading / writing is usually performed in units of pages. The block has a capacity for a plurality of pages.

OSに搭載されたファイルシステム40は、論理アドレスを用いて、データをページ単位で管理する。ここでは、SSD3上のブロックとの対応関係を明確にするために、ファイルシステム40が管理するページを仮想的なブロックに分けて表している。図4では、その仮想的なブロックを「論理ブロック」と表記し、デバイス31上のブロックと区別している。デバイス31上のブロックは「物理ブロック」と表記している。   The file system 40 installed in the OS manages data in units of pages using logical addresses. Here, in order to clarify the correspondence with the blocks on the SSD 3, the pages managed by the file system 40 are divided into virtual blocks. In FIG. 4, the virtual block is denoted as “logical block” and is distinguished from the block on the device 31. A block on the device 31 is described as a “physical block”.

図4中に表記の「論理ブロック#0(L0)」は、ブロック番号が「0」の論理ブロックの別表現が「L0」であることを表している。「L0−0」〜「L0−3」は、ブロック番号が「0」の論理ブロックを構成するページを表している。それにより、ここでは、各論理ブロック(及びデバイス31上の各物理ブロック)に4つのページが含まれると想定している。以降、便宜的に、特定の論理ブロックを指す場合には「L0」「L1」等を符号として付すことにする。任意の論理ブロックを指す場合には符号として「L」を付すこととする。   “Logical block # 0 (L0)” shown in FIG. 4 indicates that another expression of the logical block having the block number “0” is “L0”. “L0-0” to “L0-3” represent pages constituting the logical block having the block number “0”. Thereby, it is assumed here that each logical block (and each physical block on the device 31) includes four pages. Hereinafter, for the sake of convenience, when referring to a specific logical block, “L0”, “L1”, etc. will be given as symbols. When an arbitrary logical block is indicated, “L” is attached as a symbol.

一方、図4中に表記の「物理ブロック#0(P0)」は、ブロック番号として「0」が割り当てられた物理ブロックの別表現が「P0」であることを表している。物理ブロックでも論理ブロックLと同様に、特定の物理ブロックを指す場合には「P0」「P1」等を符号として付し、任意の物理ブロックを指す場合には「P」を符号として付すこととする。   On the other hand, “physical block # 0 (P0)” shown in FIG. 4 indicates that another representation of the physical block to which “0” is assigned as the block number is “P0”. Similarly to the logical block L, in the physical block, “P0”, “P1” or the like is attached as a code when indicating a specific physical block, and “P” is added as a code when indicating an arbitrary physical block. To do.

コントローラ30は、論理ブロックL(論理アドレス)と物理ブロックP(物理アドレス)間の対応関係の特定に、ブロック変換テーブル301aを用いている。このブロック変換テーブル301aは、アドレス変換部301が管理するテーブルであり、論理ブロックL毎に、その論理ブロックLに対応付けられた物理ブロックPを表す。そのため、アドレス変換部301は、ファイルシステム40(CPU1)が命令で指定する論理アドレスから論理ブロックLを特定し、特定した論理ブロックLを用いてブロック変換テーブル301aを参照して、アクセスすべき物理ブロックPを特定することができる。図4では、ファイルシステム40から論理ブロックL4内の論理アドレスが指定されたことにより、物理ブロックP7をアドレス変換部301が特定したことを表している。   The controller 30 uses the block conversion table 301a for specifying the correspondence between the logical block L (logical address) and the physical block P (physical address). The block conversion table 301 a is a table managed by the address conversion unit 301, and represents a physical block P associated with the logical block L for each logical block L. Therefore, the address conversion unit 301 identifies the logical block L from the logical address designated by the file system 40 (CPU 1) with an instruction, refers to the block conversion table 301a using the identified logical block L, and physically accesses the physical block to be accessed. Block P can be identified. FIG. 4 shows that the address conversion unit 301 has specified the physical block P7 by designating the logical address in the logical block L4 from the file system 40.

ファイルシステム40が要求するアクセスが読み出しであった場合、コントローラ30は、ブロック変換テーブル301aを参照して特定した物理ブロックP7からデータを読み出す。データの読み出しは、物理アドレスをアドレス変換部301が出力し、必要な制御信号を書き込み制御機構303が出力することで実現される。   When the access requested by the file system 40 is reading, the controller 30 reads data from the physical block P7 identified with reference to the block conversion table 301a. Reading of data is realized by outputting a physical address from the address conversion unit 301 and outputting a necessary control signal from the write control mechanism 303.

データを読み出すためにアドレス変換部301から出力された物理アドレスは、デマルチプレクサ302を介して、そのデータを格納したデバイス31に入力される。そのために、アドレス変換部301は、デマルチプレクサ302を制御し、物理アドレスを出力させるべきチャネルに出力させる。書き込み制御機構303が出力する制御信号には、コマンド・ラッチ・イネーブル、アドレス・ラッチ・イネーブル、チップ・イネーブル、ライト・イネーブル、リード・イネーブル、等がある。   The physical address output from the address conversion unit 301 for reading data is input to the device 31 storing the data via the demultiplexer 302. For this purpose, the address conversion unit 301 controls the demultiplexer 302 to output the physical address to the channel to be output. Control signals output from the write control mechanism 303 include command latch enable, address latch enable, chip enable, write enable, read enable, and the like.

物理ブロックPから読み出されたデータは、データキュー304を介してCPU1に出力される。このデータキュー304は、各デバイス31からCPU1へのデータ出力、及びCPU1から各デバイス31へのデータ出力のための記憶装置である。各デバイス31から読み出されたデータは一旦、データキュー304に格納される。CPU1から出力されたデータも一旦、データキュー304に格納される。   Data read from the physical block P is output to the CPU 1 via the data queue 304. The data queue 304 is a storage device for outputting data from each device 31 to the CPU 1 and outputting data from the CPU 1 to each device 31. Data read from each device 31 is temporarily stored in the data queue 304. Data output from the CPU 1 is also temporarily stored in the data queue 304.

ファイルシステム40が要求するアクセスが書き込みであった場合、コントローラ30は、未使用の物理ブロックPのなかの何れかの物理ブロックPにデータを書き込む。図4では、未使用の物理ブロックPのなかから物理ブロックP8が選択され、物理ブロックP7が割り当てられていた各ページL4−0〜L4−3が物理ブロックP8に書き込まれたことを表している。その結果、ブロック変換テーブル301aでは、論理ブロックL4に対応付けられた物理ブロックPは、物理ブロックP7から物理ブロックP8に更新される。物理ブロックP7は、データの消去が行われ、ブロック変換テーブル301aでは、何れの論理ブロックLとも対応付けられない。それにより、物理ブロックP7は、以降、未使用の物理ブロックPとして扱われる。未使用の物理ブロックPは、以降、「予備ブロック」と表記する。図4において、各ページL4−0〜L4−3が割り当てられる前の物理ブロックP8に「予備」を表記しているのは、そのためである。   When the access requested by the file system 40 is writing, the controller 30 writes data to any physical block P among the unused physical blocks P. In FIG. 4, the physical block P8 is selected from the unused physical blocks P, and the pages L4-0 to L4-3 to which the physical block P7 has been assigned are written to the physical block P8. . As a result, in the block conversion table 301a, the physical block P associated with the logical block L4 is updated from the physical block P7 to the physical block P8. The physical block P7 is erased and is not associated with any logical block L in the block conversion table 301a. Thereby, the physical block P7 is treated as an unused physical block P hereinafter. The unused physical block P is hereinafter referred to as “reserve block”. In FIG. 4, this is why “reserved” is written in the physical block P8 before the pages L4-0 to L4-3 are allocated.

上記のように、FIFO305は、チャネル毎、デバイス31毎に設けられている。これらのFIFO305は、データを書き込む予備ブロックPの選択に用いられる。   As described above, the FIFO 305 is provided for each channel and for each device 31. These FIFOs 305 are used to select a spare block P to which data is written.

データが格納されている物理ブロックPへのデータ(ページ)の上書きは行うことはできない。そのため、既にデータ(ページ)が格納されている物理ブロックPへの上書きを行う場合、その物理ブロックPの消去を行わなければならない。しかし、物理ブロックPの消去・書き込み可能回数には限界がある。その限界により、特定の物理ブロックPに対する消去・書き込みが集中しないように、消去・書き込みのためのアクセスは平準化する必要がある。その平準化のために、チャネル毎、デバイス31毎に設けたFIFO305は用いられる。   Data (page) cannot be overwritten on the physical block P in which data is stored. Therefore, when overwriting a physical block P in which data (page) is already stored, the physical block P must be erased. However, there is a limit to the number of times that the physical block P can be erased and written. Due to the limitation, it is necessary to level the access for erasing / writing so that the erasing / writing for a specific physical block P is not concentrated. For leveling, the FIFO 305 provided for each channel and each device 31 is used.

アドレス変換部301は、物理ブロックPの消去が行われた場合、或いはブロック変換テーブル301a上で物理ブロックPへの論理ブロックLの対応付けを解除した場合、その物理ブロックPを表す情報(例えばブロック番号。以降「識別情報」と表記)を対応するFIFO305に保持させる。例えば消去が行われた、或いは対応付けが解除された物理ブロックPがデバイス31−0−0上に存在する場合、アドレス変換部301は、その物理ブロックPの識別情報(物理ブロックPと共に、デバイス31−0−0を特定可能な情報)をFIFO305−0−0に保持させる。ここでは、FIFO305への識別情報の保持は、データの消去によって行われると想定する。   When the physical block P is erased or when the association of the logical block L with the physical block P is canceled on the block conversion table 301a, the address conversion unit 301 stores information indicating the physical block P (for example, the block Number (hereinafter referred to as “identification information”) is held in the corresponding FIFO 305. For example, when a physical block P that has been erased or released from association exists on the device 31-0-0, the address translation unit 301 identifies the physical block P with the identification information (the physical block P and the device Information that can specify 31-0-0) is held in the FIFO 305-0-0. Here, it is assumed that the retention of identification information in the FIFO 305 is performed by erasing data.

物理ブロックPの消去は、その消去を要求する消去命令の発行によって行われる。消去対象となる物理ブロックPを指定する識別情報(例えばブロック番号)は、アドレスとして与えられる。アドレス変換部301は、例えば書き込み制御機構303から通知されるコマンド種別、及びアドレス(ブロック番号)から、消去が行われる物理ブロックPを特定し、その物理ブロックPの識別情報を対応するFIFO305に格納する。   The physical block P is erased by issuing an erase command requesting the erase. Identification information (for example, a block number) specifying the physical block P to be erased is given as an address. The address conversion unit 301 identifies the physical block P to be erased from the command type and address (block number) notified from the write control mechanism 303, for example, and stores the identification information of the physical block P in the corresponding FIFO 305. To do.

各FIFO305が出力する識別情報のうちの一つは、マルチプレクサ306によって選択され、選択された識別情報はアドレス変換部301に出力される。それにより、アドレス変換部301は、マルチプレクサ306から入力した識別情報が表す物理ブロックPにアクセスするための物理アドレスを出力する。識別情報が選択されたFIFO305は、例えばアドレス変換部301の制御により、次に出力すべき識別情報を出力する。それにより、FIFO305は、識別情報の選択により、保持内容が更新される。マルチプレクサ306における識別情報の選択は、書き込み制御機構303が出力する選択信号に従って行われる。   One of the identification information output from each FIFO 305 is selected by the multiplexer 306, and the selected identification information is output to the address conversion unit 301. As a result, the address conversion unit 301 outputs a physical address for accessing the physical block P represented by the identification information input from the multiplexer 306. The FIFO 305 for which the identification information is selected outputs the identification information to be output next, for example, under the control of the address conversion unit 301. As a result, the content held in the FIFO 305 is updated by selecting the identification information. Selection of the identification information in the multiplexer 306 is performed according to a selection signal output from the write control mechanism 303.

図5は、データの書き込み時に各チャネルを介して行われるアクセス例を説明するタイムチャートである。ここで図5を参照し、各FIFO305から出力される識別情報の選択方法、及びその識別情報の選択を通して実現されるアクセスについて具体的に説明する。   FIG. 5 is a time chart for explaining an example of access performed through each channel when data is written. Here, with reference to FIG. 5, the selection method of the identification information output from each FIFO 305 and the access realized through the selection of the identification information will be specifically described.

図5において、図5(a)に表記の「FIFOから指定される予備ブロック」とは、マルチプレクサ306からアドレス変換部301に出力される識別情報によって指定される予備ブロックPのことである。図5(a)に表記の「CH0 DEV1 ブロック1」は、チャネル番号が0のチャネルに接続されたデバイス31−0−1上のブロック番号が1の物理ブロックPを意味している。図2に表す構成では、各チャネルには3つのデバイス31が接続されている。しかし、図5では、各チャネルに4つ以上のデバイス31が接続されていると想定している。   In FIG. 5, “reserved block designated from FIFO” shown in FIG. 5A is a spare block P designated by the identification information output from the multiplexer 306 to the address conversion unit 301. “CH0 DEV1 block 1” shown in FIG. 5A means the physical block P with the block number 1 on the device 31-0-1 connected to the channel with the channel number 0. In the configuration shown in FIG. 2, three devices 31 are connected to each channel. However, in FIG. 5, it is assumed that four or more devices 31 are connected to each channel.

図5(b)に表記の「CPU―IF」は、CPU1から入力するデータであることを表している。そのデータとして、図5(b−1)に書込命令(ライトコマンド)、図5(b−2)に書き込みを要求されたデータ(書込データ)をそれぞれ表している。ここでは、ライトコマンドは書込データを除く部分のデータを指す意味で用いている。   “CPU-IF” shown in FIG. 5B represents data input from the CPU 1. As the data, FIG. 5B-1 shows a write command (write command), and FIG. 5B-2 shows data requested to be written (write data). Here, the write command is used to indicate the data of the portion excluding the write data.

図5(b−1)に表記の「Aコマンド」〜「Eコマンド」はそれぞれ、異なるライトコマンドを表している。図5(b−2)に表記の「Aデータ」〜「Eデータ」は、「Aコマンド」〜「Eコマンド」の書込データを表している。   “A command” to “E command” shown in FIG. 5B-1 represent different write commands. “A data” to “E data” shown in FIG. 5B-2 represent write data of “A command” to “E command”.

図5(c)に表記の「Contoroller−IF」は、コントローラ30の制御によってアクセスが行われるチャネルを表している。ここでは、チャネルとして、それぞれ0〜4のチャネル番号が割り当てられたチャネル0〜4の計5つのチャネルが存在することを想定している(図5(c−0)〜図5(c−4))。   “Controller-IF” shown in FIG. 5C represents a channel that is accessed under the control of the controller 30. Here, it is assumed that there are a total of five channels, channels 0 to 4, to which channel numbers 0 to 4 are assigned (FIGS. 5 (c-0) to 5 (c-4). )).

図5(b−1)に表すようなCPU1からのA〜Eコマンドの入力により、チャネル0〜4では、図5(c−0)〜図5(c−4)に表すようにA〜Eコマンドの処理が並行する形で行われ、A〜Eデータの書き込みは独立して行われる。図5(a)に表すような識別情報の選択は、チャネル0〜4で並行して、言い換えればチャネル0〜4に分散させて、A〜Eコマンドを処理できるように行われる。   When the A to E commands from the CPU 1 as shown in FIG. 5B-1 are input, in the channels 0 to 4, A to E as shown in FIG. 5 (c-0) to FIG. 5 (c-4). Command processing is performed in parallel, and writing of A to E data is performed independently. The selection of the identification information as shown in FIG. 5A is performed so that the A to E commands can be processed in parallel in channels 0 to 4, in other words, distributed to channels 0 to 4.

図5(a)に表すような識別情報の選択は、チャネル0〜4のなかで他のコマンドによるアクセスが行われていないチャネルの利用を優先させていることを意味する。そのため、他のコマンドによるアクセスの終了を待つ待ち時間は最小限に抑えることができる。この結果、CPU1から連続して複数のライトコマンドを入力したとしても、その複数のライトコマンドの処理に要する時間を最小か、或いは最小に近い時間にすることができる。これは、ライトコマンドによるアクセスのアクセス速度の低下が最小限に抑えられることを意味する。   Selection of identification information as shown in FIG. 5A means that priority is given to the use of channels that are not accessed by other commands among channels 0 to 4. Therefore, the waiting time for waiting for the end of access by another command can be minimized. As a result, even if a plurality of write commands are continuously input from the CPU 1, the time required for processing the plurality of write commands can be minimized or close to the minimum. This means that a decrease in access speed of access due to a write command can be minimized.

ライトコマンドの実行によるアクセス速度の低下を最小限に抑えることにより、アクセスが集中するチャネルの発生も抑えられるようになる。これは、単位時間当たりに可能なアクセス数を最大レベルに維持できるようになるからである。そのため、ライトコマンドによるアクセスのアクセス速度だけでなく、基本的に全てのアクセスのアクセス速度の低下が抑制される。   By minimizing the decrease in the access speed due to the execution of the write command, it is possible to suppress the occurrence of channels where access is concentrated. This is because the number of accesses possible per unit time can be maintained at the maximum level. Therefore, not only the access speed of the access by the write command but basically a decrease in the access speed of all accesses is suppressed.

本実施形態では、図5(c)(図5(c−0)〜図5(c−4))に表すように、チャネル0〜4のなかでアクセスが行われていないチャネルが複数、存在している場合、異なるチャネルを選択させていくようにしている。   In this embodiment, as shown in FIG. 5 (c) (FIG. 5 (c-0) to FIG. 5 (c-4)), there are a plurality of channels that are not accessed among the channels 0 to 4. If so, you are trying to select different channels.

例えばチャネル0では、Aデータの書き込みが終了した後に、別のライトコマンドを処理できる状況に移行する。その状況となっても、D及びEコマンドの処理に用いるチャネルは、チャネル3→チャネル4の順に選択している。これは、チャネル間で予備ブロックPの選択に偏りが生じないようにするためである。異なるチャネルの利用を優先させることにより、チャネル間の平準化を実現させることができる。   For example, in channel 0, after the writing of A data is completed, the state shifts to a state where another write command can be processed. Even in this situation, the channels used for processing the D and E commands are selected in the order of channel 3 → channel 4. This is to prevent the selection of the spare block P from being biased between channels. By prioritizing the use of different channels, leveling between channels can be realized.

各チャネルには、複数のデバイス31が接続されている。各チャネルでの予備ブロックPの選択では、異なるデバイス31を選択させていくようにしている。それにより、例えば図2に表すチャネル0と接続された3つのデバイス31−0−0〜31−0−2では、デバイス31−0−0の予備ブロックPが選択された後、デバイス31−0−1、或いは31−0−2の予備ブロックPの選択を優先させるようにしている。これは、同じチャネルと接続されたデバイス31間で予備ブロックPの選択に偏りが生じないようにするためである。異なるデバイス31の利用を優先させることにより、同じチャネルと接続されたデバイス31間の平準化を実現させることができる。   A plurality of devices 31 are connected to each channel. In selecting the spare block P in each channel, different devices 31 are selected. Thereby, for example, in the three devices 31-0-0 to 31-0-2 connected to the channel 0 shown in FIG. 2, after the spare block P of the device 31-0-0 is selected, the device 31-0 The selection of the spare block P of -1 or 31-0-2 is prioritized. This is to prevent bias in selection of the spare block P between the devices 31 connected to the same channel. By prioritizing the use of different devices 31, leveling between devices 31 connected to the same channel can be realized.

複数のチャネル毎にFIFO305を設けた場合、アクセスが行われているチャネルを避けて、予備ブロックPを選択できるとは限らない。このことから、本実施形態では、チャネル毎にFIFO305を設けている。   When the FIFO 305 is provided for each of a plurality of channels, it is not always possible to select the spare block P while avoiding the channel being accessed. Therefore, in this embodiment, a FIFO 305 is provided for each channel.

チャネル毎に1つのFIFO305を設けても、迅速なアクセスが可能なチャネルを用いたアクセスを行うことはできる。しかし、各FIFO305から取り出される識別情報は、過去の状況によってFIFO305に保持された識別情報である。そのため、1つのFIFO305から順次、取り出される識別情報の流れは、現在の状況に合わない可能性がある。また、同じチャネルに接続された各デバイス31へのアクセスの偏りがあっても、その偏りを修正するのは困難である。このようなことから、本実施形態では、各チャネルに対し、そのチャネルに接続されているデバイス31の数分のFIFO305を設けている。デバイス31毎にFIFO305を設けることにより、過去のアクセスの偏りを修正し、より望ましい平準化を実現することができる。   Even if one FIFO 305 is provided for each channel, it is possible to perform access using a channel that allows quick access. However, the identification information extracted from each FIFO 305 is the identification information held in the FIFO 305 according to the past situation. Therefore, the flow of identification information sequentially extracted from one FIFO 305 may not match the current situation. Even if there is a bias in access to each device 31 connected to the same channel, it is difficult to correct the bias. For this reason, in this embodiment, FIFOs 305 corresponding to the number of devices 31 connected to each channel are provided for each channel. By providing the FIFO 305 for each device 31, it is possible to correct past access bias and achieve more desirable leveling.

マルチプレクサ306は、書き込み制御機構303が出力する選択信号に従って、FIFO305を選択する。チャネル間、同じチャネルに接続されたデバイス31間の平準化、及び図5に表すようなアクセス制御は、マルチプレクサ306を用いたFIFO305の選択を通して実現される。以降、チャネル間、同じチャネルに接続されたデバイス31間の平準化、及び図5に表すようなアクセス制御を実現させる書き込み制御機構303について詳細に説明する。   The multiplexer 306 selects the FIFO 305 according to the selection signal output from the write control mechanism 303. The leveling between the devices 31 connected to the same channel between the channels and the access control as shown in FIG. 5 are realized through the selection of the FIFO 305 using the multiplexer 306. In the following, the write control mechanism 303 that realizes leveling between devices, leveling between devices 31 connected to the same channel, and access control as shown in FIG. 5 will be described in detail.

図3は、書き込み制御機構の機能構成例を説明する図である。書き込み制御機構303は、図3に表すように、予備ブロックチェック回路331、ビジーチェック回路332、状況チェック回路333、チャネル選択回路334、デバイス選択回路335、メモリ336、及び2つのインタフェース337、338を備えている。   FIG. 3 is a diagram for explaining a functional configuration example of the write control mechanism. As shown in FIG. 3, the write control mechanism 303 includes a spare block check circuit 331, a busy check circuit 332, a status check circuit 333, a channel selection circuit 334, a device selection circuit 335, a memory 336, and two interfaces 337 and 338. I have.

インタフェース337は、CPU1との通信を行う構成要素である。インタフェース337は、CPU1から書き込み命令を入力した場合、入力した書き込み命令を状況チェック回路333に出力する。   The interface 337 is a component that performs communication with the CPU 1. When a write command is input from the CPU 1, the interface 337 outputs the input write command to the status check circuit 333.

予備ブロックチェック回路331は、FIFO305毎に、予備ブロックPの識別情報が存在するか否かの確認を行う。予備ブロックPの識別情報が存在するか否かの確認には、各FIFO305から取得される使用状況情報が用いられる。この使用状況情報は、例えばFIFO305から出力される識別情報の有無を表す情報である。FIFO305から出力される識別情報は、使用状況情報として用いることができる。   The spare block check circuit 331 checks whether the identification information of the spare block P exists for each FIFO 305. The usage status information acquired from each FIFO 305 is used to check whether the identification information of the spare block P exists. This usage status information is information indicating the presence or absence of identification information output from the FIFO 305, for example. The identification information output from the FIFO 305 can be used as usage status information.

各デバイス31は、ライト動作中、消去動作中、或いはリード動作中には、ビジー(Busy)信号(RY/BY=“L”)を出力し、動作の完了により、レディ(Ready)信号(RY/BY=“H”)を出力する。ビジーチェック回路332は、チャネル毎に、ビジー信号が出力されているか否かを確認する。   Each device 31 outputs a busy signal (RY / BY = “L”) during a write operation, an erase operation, or a read operation, and upon completion of the operation, a ready signal (RY / BY = “H”) is output. The busy check circuit 332 checks whether a busy signal is output for each channel.

状況チェック回路333は、データの書き込みが行える状況か否かを確認する。その確認は、予備ブロックチェック回路331、及びビジーチェック回路332の各確認結果を用いて行われる。それにより、状況チェック回路333は、ビジー信号が出力されていないチャネルに接続され、且つ予備ブロックPを有するデバイス31が存在する場合に、データの書き込みが行える状況と判定する。その判定結果は、チャネル選択回路334に出力される。   The status check circuit 333 confirms whether or not the data can be written. The confirmation is performed using the confirmation results of the spare block check circuit 331 and the busy check circuit 332. Accordingly, the status check circuit 333 determines that data can be written when there is a device 31 that is connected to a channel to which no busy signal is output and has the spare block P. The determination result is output to the channel selection circuit 334.

メモリ336には、書込命令の処理結果を表す履歴情報が格納される。その履歴情報は、少なくとも、直前の書込命令で選択したチャネルの識別情報(チャネル番号)、及び各チャネルで最後に選択したデバイス31を表す識別情報を特定可能な情報である。この履歴情報は、チャネル選択回路334、及びデバイス選択回路335も参照する。   The memory 336 stores history information representing the processing result of the write command. The history information is information that can at least identify the identification information (channel number) of the channel selected by the immediately preceding write command and the identification information representing the device 31 selected last in each channel. The history information also refers to the channel selection circuit 334 and the device selection circuit 335.

チャネル選択回路334は、予備ブロックチェック回路331、及びビジーチェック回路332の各確認結果、及びメモリ336の履歴情報を参照し、予備ブロックPへの書き込みに用いるべきチャネルを選択する。そのチャネルの選択は、履歴情報が表すチャネル番号の次のチャネル番号が割り当てられたチャネルから、ビジー信号が出力されておらず、且つ予備ブロックPを有するデバイス31が接続されているという条件を満たしているか否かを確認していくことで行われる。チャネルの選択結果は、デバイス選択回路335に出力される。   The channel selection circuit 334 refers to the confirmation results of the spare block check circuit 331 and the busy check circuit 332 and the history information in the memory 336, and selects a channel to be used for writing to the spare block P. The channel selection satisfies the condition that the busy signal is not output from the channel to which the channel number next to the channel number represented by the history information is assigned, and the device 31 having the spare block P is connected. It is done by checking whether or not. The channel selection result is output to the device selection circuit 335.

デバイス選択回路335は、予備ブロックチェック回路331の確認結果、及びメモリ336の履歴を参照し、チャネル選択回路334が選択したチャネルに接続されているデバイス31のなかから、データを書き込ませるデバイス31を選択する。そのデバイス31の選択は、チャネル選択回路334が選択したチャネルに接続され、履歴が表すそのチャネルで最後に選択したデバイス31とは別のデバイス31から、予備ブロックPが存在するか否かを確認していくことで行われる。   The device selection circuit 335 refers to the confirmation result of the spare block check circuit 331 and the history of the memory 336, and selects the device 31 that writes data from the devices 31 connected to the channel selected by the channel selection circuit 334. select. The selection of the device 31 is connected to the channel selected by the channel selection circuit 334, and it is confirmed whether or not the spare block P exists from a device 31 different from the device 31 selected last in the channel indicated by the history. It is done by doing.

デバイス選択回路335がデバイス31を選択することにより、識別情報を選択すべきFIFO305が決定する。このことから、デバイス選択回路335は、デバイス31の選択結果から生成される選択信号をマルチプレクサ306に出力する。また、デバイス選択回路335は、デバイス31の選択結果をインタフェース338に出力する。   When the device selection circuit 335 selects the device 31, the FIFO 305 that should select the identification information is determined. Accordingly, the device selection circuit 335 outputs a selection signal generated from the selection result of the device 31 to the multiplexer 306. Further, the device selection circuit 335 outputs the selection result of the device 31 to the interface 338.

インタフェース338は、各デバイス31へのアクセスのための制御信号を出力する。インタフェース338は、デバイス選択回路335の選択結果によって指定されるデバイス31に制御信号を出力する。そのデバイス31には、アドレス変換部301から論理アドレス、データキュー304から1物理ブロックP分のデータがそれぞれ出力される。そのため、そのデバイス31の予備ブロックPに、1物理ブロックP分のデータが書き込まれる。   The interface 338 outputs a control signal for accessing each device 31. The interface 338 outputs a control signal to the device 31 specified by the selection result of the device selection circuit 335. The device 31 outputs a logical address from the address conversion unit 301 and data for one physical block P from the data queue 304, respectively. Therefore, data for one physical block P is written to the spare block P of the device 31.

デバイス選択回路335による選択信号の生成には、各チャネルで行われているアクセス状況、各チャネルに接続されている各デバイス31の状態(予備ブロックの有無)、及び履歴情報が反映される。そのため、この選択信号に従ったマルチプレクサ306によるFIFO305(識別情報)の選択を通して、チャネル間、同じチャネルに接続されたデバイス31間の平準化、及び図5に表すようなアクセス制御が実現される。   The generation of the selection signal by the device selection circuit 335 reflects the access status performed in each channel, the status of each device 31 connected to each channel (presence / absence of a spare block), and history information. Therefore, leveling between devices 31 connected to the same channel and access control as shown in FIG. 5 are realized through selection of the FIFO 305 (identification information) by the multiplexer 306 according to the selection signal.

図6は、データ書き込み時のコントローラの動作を表すフローチャートである。最後に図6を参照し、CPU1から書込命令(ライトコマンド)を受信した場合のコントローラ30の動作を詳細に説明する。図6にフローチャートで表す動作は、CPU1から受信した1書込命令のみの処理を行うことを想定している。   FIG. 6 is a flowchart showing the operation of the controller during data writing. Finally, with reference to FIG. 6, the operation of the controller 30 when a write command (write command) is received from the CPU 1 will be described in detail. The operation represented by the flowchart in FIG. 6 is based on the assumption that only one write command received from the CPU 1 is processed.

図6では、3つの枠にそれぞれ「333」〜「335」の符号を付している。「333」〜「335」が付された枠内の処理ステップは、それぞれ、状況チェック回路333、チャネル選択回路334、及びデバイス選択回路335の各動作を表している。   In FIG. 6, the symbols “333” to “335” are attached to the three frames, respectively. The processing steps in the frames with “333” to “335” represent the operations of the status check circuit 333, the channel selection circuit 334, and the device selection circuit 335, respectively.

CPU1から発行された書込命令は、書き込み制御機能303のインタフェース337によって受信され、受信された書込命令はインタフェース337から状況チェック回路333に出力される。状況チェック回路333は、書込命令の入力により、ビジーチェック回路332から、チャネル毎に行われたビジー信号の確認結果を入力し、ビジー信号が出力されていないチャネルがあるか否か判定する(S1)。何れかのチャネルでビジー信号が出力されていない場合、S1の判定はYesとなってS3に移行する。全てのチャネルでビジー信号が出力されている場合、S1の判定はNoとなってS2に移行する。   The write command issued from the CPU 1 is received by the interface 337 of the write control function 303, and the received write command is output from the interface 337 to the status check circuit 333. The status check circuit 333 receives the confirmation result of the busy signal performed for each channel from the busy check circuit 332 in response to the input of the write command, and determines whether there is a channel for which the busy signal is not output ( S1). If no busy signal is output in any channel, the determination in S1 is Yes and the process proceeds to S3. When busy signals are output on all channels, the determination in S1 is No and the process proceeds to S2.

S2では、状況チェック回路333は、一定時間、待機する。その一定時間とは、例えばビジーチェック回路332から新たに確認結果を入力するまでの時間である。一定時間が経過すると、上記S1に戻る。それにより、状況チェック回路333は、全てのチャネルでビジー信号が出力されている状況では、ビジー信号が出力されていないチャネルが出現するまで待つ。   In S2, the status check circuit 333 waits for a predetermined time. The fixed time is, for example, the time until a new confirmation result is input from the busy check circuit 332. When a certain time has elapsed, the process returns to S1. Thereby, the status check circuit 333 waits until a channel that does not output a busy signal appears in a situation where busy signals are output in all channels.

S3では、状況チェック回路333は、予備ブロックチェック回路331から確認結果を入力し、ビジー信号が出力されていない何れかのチャネルに接続された何れかのデバイス31上に予備ブロックPが存在するか否か判定する。ビジー信号が出力されていない1つ以上のチャネルが存在し、且つ存在する何れかのチャネルに予備ブロックPを有するデバイス31が接続されていた場合、S3の判定はYesとなってS5に移行する。ビジー信号が出力されていない全てのチャネルに、予備ブロックPを有するデバイス31が接続されていない場合、S3の判定はNoとなってS4に移行する。   In S3, the status check circuit 333 receives the confirmation result from the spare block check circuit 331, and whether the spare block P exists on any device 31 connected to any channel for which no busy signal is output. Judge whether or not. If there is one or more channels to which no busy signal is output, and the device 31 having the spare block P is connected to any of the existing channels, the determination in S3 is Yes and the process proceeds to S5. . If the device 31 having the spare block P is not connected to all channels for which no busy signal is output, the determination in S3 is No and the process proceeds to S4.

ビジーチェック回路332による新たな確認結果は、状況チェック回路333に随時、入力される。そのため、S3では、新たにビジー信号が出力されなくなったチャネルも対象にして、予備ブロックPを有するデバイス31の確認が行われる。   A new confirmation result by the busy check circuit 332 is input to the status check circuit 333 as needed. Therefore, in S3, the device 31 having the spare block P is confirmed for a channel for which a busy signal is no longer output.

S4では、状況チェック回路333は、一定時間、待機する。その一定時間とは、例えば予備ブロックチェック回路331から新たに確認結果を入力するまでの時間である。一定時間が経過すると、上記S3に戻る。   In S4, the status check circuit 333 waits for a predetermined time. The fixed time is, for example, the time until a new confirmation result is input from the spare block check circuit 331. When a certain time has elapsed, the process returns to S3.

S3でのYesによるS5への移行は、状況チェック回路333が、データの書込が行える状況であるとの判定結果をチャネル選択回路334に通知することで行われる。その通知を入力したチャネル選択回路334は、メモリ336に格納されている履歴情報を参照し、前回、選択したチャネルよりチャネル番号が1つ大きいチャネルを選択する(S5)。次に、チャネル選択回路334は、ビジーチェック回路332から入力する確認結果を参照し、選択したチャネルにビジー信号が出力されていないか否か判定する(S6)。選択したチャネルにビジー信号が出力されていない場合、S6の判定はYesとなってS8に移行する。選択したチャネルにビジー信号が出力されている場合、S6の判定はNoとなってS7に移行する。   The transition to S5 due to Yes in S3 is performed by the status check circuit 333 notifying the channel selection circuit 334 of a determination result that data can be written. The channel selection circuit 334 that has received the notification refers to the history information stored in the memory 336 and selects a channel having a channel number that is one greater than the previously selected channel (S5). Next, the channel selection circuit 334 refers to the confirmation result input from the busy check circuit 332 and determines whether or not a busy signal is output to the selected channel (S6). If the busy signal is not output to the selected channel, the determination in S6 is Yes and the process proceeds to S8. When the busy signal is output to the selected channel, the determination in S6 is No and the process proceeds to S7.

S7では、チャネル選択回路334は、現在のチャネル番号より1つ大きいチャネルを新たに選択する。その選択後、上記S6に戻る。それにより、チャネル選択回路334は、直前のチャネルの選択結果を反映させつつ、チャネル番号が小さいほうから、ビジー信号が出力されていないチャネルの特定・選択を行う。   In S7, the channel selection circuit 334 newly selects a channel that is one larger than the current channel number. After the selection, the process returns to S6. Thereby, the channel selection circuit 334 specifies and selects the channel from which the busy signal is not output, starting from the one with the smaller channel number, while reflecting the selection result of the immediately preceding channel.

S8では、チャネル選択回路334は、予備ブロックチェック回路331から随時、入力する確認結果を参照し、選択したチャネルに予備ブロックPが存在するか否か判定する。選択したチャネルに接続されている何れのデバイス31にも予備ブロックPが存在しない場合、S8の判定はNoとなってS9に移行する。選択したチャネルに予備ブロックPを有するデバイス31が接続されている場合、S8の判定はYesとなってS10に移行する。   In S8, the channel selection circuit 334 refers to the confirmation result input from the spare block check circuit 331 as needed, and determines whether or not the spare block P exists in the selected channel. If there is no spare block P in any device 31 connected to the selected channel, the determination in S8 is No and the process proceeds to S9. When the device 31 having the spare block P is connected to the selected channel, the determination in S8 is Yes and the process proceeds to S10.

S9では、チャネル選択回路334は、現在のチャネル番号より1つ大きいチャネルを新たに選択する。その選択後、上記S6に戻る。それにより、チャネル選択回路334は、直前のチャネルの選択結果を反映させつつ、チャネル番号が小さいほうから、予備ブロックPを有するデバイス31が接続されており、且つビジー信号が出力されていないチャネルの特定・選択を行う。   In S9, the channel selection circuit 334 newly selects a channel that is one larger than the current channel number. After the selection, the process returns to S6. As a result, the channel selection circuit 334 reflects the selection result of the previous channel, and the channel 31 to which the device 31 having the spare block P is connected and the busy signal is not output from the one with the smaller channel number. Identify and select.

S8でのYesによるS10への移行は、チャネル選択回路334が、データの書き込みに用いるべきと判定したチャネルをデバイス選択回路335に通知することで行われる。その通知を入力したデバイス選択回路335は、メモリ336に格納されている履歴情報を参照し、前回、選択したデバイス31よりデバイス番号が1つ大きいデバイス31を選択する(S10)。次に、デバイス選択回路335は、予備ブロックチェック回路331から入力する確認結果を参照し、選択したデバイス31に予備ブロックPが存在するか否か判定する(S11)。選択したデバイス31に予備ブロックPが存在しない場合、S11の判定はNoとなってS12に移行する。選択したデバイス31に予備ブロックPが存在する場合、S11の判定はNoとなってS13に移行する。   The shift to S10 due to Yes in S8 is performed by the channel selection circuit 334 notifying the device selection circuit 335 of the channel determined to be used for data writing. The device selection circuit 335 that has input the notification refers to the history information stored in the memory 336, and selects the device 31 having a device number one larger than the device 31 selected last time (S10). Next, the device selection circuit 335 refers to the confirmation result input from the spare block check circuit 331, and determines whether or not the spare block P exists in the selected device 31 (S11). When the spare block P does not exist in the selected device 31, the determination in S11 is No and the process proceeds to S12. If there is a spare block P in the selected device 31, the determination in S11 is No and the process proceeds to S13.

S12では、デバイス選択回路335は、現在のデバイス番号より1つ大きいデバイス31を新たに選択する。その選択後、上記S11に戻る。それにより、デバイス選択回路335は、同一のチャネルでの直前のデバイス31の選択結果を反映させつつ、デバイス番号が小さいほうから、予備ブロックPを有するデバイス31の特定・選択を行う。   In S12, the device selection circuit 335 newly selects a device 31 that is one larger than the current device number. After the selection, the process returns to S11. Thereby, the device selection circuit 335 specifies and selects the device 31 having the spare block P from the device number with the smallest device number while reflecting the selection result of the immediately preceding device 31 in the same channel.

データを書き込む予備ブロックPを有するデバイス31、及びそのデバイス31が接続されているチャネルは、上記のようにして決定される。その結果、マルチプレクサ36に出力する選択信号により、チャネル間、同じチャネルに接続されたデバイス31間の平準化、及び図5に表すようなアクセス制御が実現されることとなる。   The device 31 having the spare block P for writing data and the channel to which the device 31 is connected are determined as described above. As a result, the selection signal output to the multiplexer 36 realizes leveling between the channels, between the devices 31 connected to the same channel, and access control as shown in FIG.

S13では、デバイス選択回路335は、チャネル、及びデバイス31の決定結果に従い、選択信号を出力し、インタフェース338に対して、その決定されたチャネルへの制御信号の出力を指示する。そのようにして、デバイス選択回路335は、決定したデバイス31の予備ブロックPにデータを書き込ませる。データの書き込みにはインタフェース338から出力される制御情報が必要なことから、図6ではS13を枠335外としている。   In S13, the device selection circuit 335 outputs a selection signal according to the determination result of the channel and the device 31, and instructs the interface 338 to output the control signal to the determined channel. In this way, the device selection circuit 335 causes data to be written in the spare block P of the determined device 31. Since control information output from the interface 338 is necessary for writing data, S13 is outside the frame 335 in FIG.

データが書き込まれるデバイス31は、データの書き込みの動作中、ビジー信号を出力し、その書き込み動作の終了により、ビジー信号に代えてレディ信号を出力する(RY/BY=“L”→“H”)。ビジーチェック回路332は、その信号の変化を監視し、ビジー信号からレディ信号への変化を例えばインタフェース337に通知する。インタフェース337は、その通知により、書込命令を送信したCPU1に対し、データの書き込みが完了した旨を表す書き込み完了通知を返信する(以上S14)。その書き込み完了通知の返信により、CPU1から受信した1書込命令に対する処理、つまり図6に表すフローチャートの動作が終了する。   The device 31 to which data is written outputs a busy signal during the data writing operation, and outputs a ready signal instead of the busy signal upon completion of the writing operation (RY / BY = “L” → “H”). ). The busy check circuit 332 monitors the change of the signal and notifies the interface 337 of the change from the busy signal to the ready signal, for example. In response to the notification, the interface 337 returns a write completion notification indicating that the data writing is completed to the CPU 1 that has transmitted the write command (S14). By replying to the writing completion notification, the processing for one write command received from the CPU 1, that is, the operation of the flowchart shown in FIG.

なお、本実施形態では、同じチャネルに接続されているデバイス31間の平準化のために、デバイス31の数分、FIFO305を設けているが、1つのチャネルに1つのFIFOを設けるようにしても良い。これは、1つのチャネルに1つのFIFO305を設けることにより、アクセス速度の低下は十分に抑制できるからである。多くのチャネルが存在するSSD3では、2つ以上のチャネルに1つのFIFO305を設けるようにしても良い。   In the present embodiment, the FIFOs 305 are provided for the number of devices 31 for leveling between the devices 31 connected to the same channel. However, one FIFO may be provided for one channel. good. This is because a decrease in access speed can be sufficiently suppressed by providing one FIFO 305 for one channel. In the SSD 3 having many channels, one FIFO 305 may be provided for two or more channels.

本発明を適用した1システムは、処理部と、ブロック単位でデータの消去が行われる複数の記憶装置と、それぞれ、複数の記憶装置のなかで割り当てられた1つ以上の記憶装置上に存在する、データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、複数の記憶装置へのデータの書き込みを要求する書込命令を処理部が発行した場合、複数の記憶部のなかで制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、書込命令により要求されたデータを書き込むアクセス部と、アクセス部による記憶部の選択結果を表す履歴情報を格納した他の記憶部と、を有し、複数の記憶装置は、複数のチャネルにそれぞれ記憶装置が1つ以上接続されており、記憶装置が接続されている各チャネルには、それぞれ、複数の記憶部のなかの1つ以上の記憶部が割り当てられており、アクセス部は、各チャネルに接続されている記憶装置の状態、及び他の記憶部に格納されている履歴情報を基に、複数のチャネルのうちの、アクセス部が直近に選択した記憶部が格納していた制御情報によって特定された予備ブロックが存在していた記憶装置が接続されているチャネル以外のチャネルに接続されている記憶装置に存在する予備ブロックを特定する制御情報の格納に用いられている記憶部の選択を行うOne system to which the present invention is applied exists on a processing unit, a plurality of storage devices from which data is erased in units of blocks, and one or more storage devices allocated among the plurality of storage devices. A plurality of storage units used for storing control information representing spare blocks that are blocks for writing data, and a processing unit that issues a write command for requesting data writing to a plurality of storage devices, a plurality of An access unit that selects a storage unit that uses control information from among the storage units, and writes data requested by a write command to a spare block specified by the control information stored in the selected storage unit; It possesses other a storage unit for storing history information representing the selection result storage unit by the access unit, and the plurality of storage devices, is connected to the storage device one or more multiple channels Each channel to which the storage device is connected is assigned one or more storage units from among a plurality of storage units, and the access unit is connected to each channel connected to each channel. Based on the status and history information stored in other storage units, there is a spare block specified by the control information stored in the storage unit selected most recently by the access unit among a plurality of channels. A storage unit used to store control information for specifying a spare block existing in a storage device connected to a channel other than the channel to which the storage device was connected is selected .

Claims (7)

処理部と、
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた1つ以上の記憶装置上に存在する、前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、
前記複数の記憶装置へのデータの書き込みを要求する書込命令を前記処理部が発行した場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込むアクセス部と、
を有することを特徴とする情報処理装置。
A processing unit;
A plurality of storage devices in which data is erased in units of blocks;
A plurality of storage units each used for storing control information representing a spare block that is a block for writing data, which exists on one or more storage devices allocated among the plurality of storage devices;
When the processing unit issues a write command for requesting data writing to the plurality of storage devices, the storage unit that uses the control information is selected from the plurality of storage units, and the selected storage unit An access unit for writing the data requested by the write command to the spare block specified by the stored control information;
An information processing apparatus comprising:
前記複数の記憶装置は、複数のチャネルにそれぞれ前記記憶装置が1つ以上、接続され、
前記記憶装置が接続されている各チャネルには、それぞれ、前記複数の記憶部のなかの1つ以上の記憶部が割り当てられている、
ことを特徴とする請求項1記載の情報処理装置。
The plurality of storage devices are each connected to one or more storage devices in a plurality of channels,
Each channel to which the storage device is connected is assigned one or more storage units among the plurality of storage units.
The information processing apparatus according to claim 1.
前記アクセス部は、前記各チャネルに接続されている前記記憶装置の状態を基に、前記複数の記憶部のなかで前記制御情報を用いる記憶部の選択を行う、
ことを特徴とする請求項2記載の情報処理装置。
The access unit selects a storage unit that uses the control information among the plurality of storage units based on the state of the storage device connected to each channel.
The information processing apparatus according to claim 2.
前記アクセス部による前記記憶部の選択結果を表す履歴情報を格納した他の記憶部を備え、
前記アクセス部は、前記各チャネルに接続されている前記記憶装置の状態、及び前記他の記憶部に格納されている前記履歴情報を基に、前記複数の記憶部のなかで前記制御情報を用いる記憶部の選択を行う、
ことを特徴とする請求項2、または3記載の情報処理装置。
Another storage unit storing history information representing a selection result of the storage unit by the access unit;
The access unit uses the control information in the plurality of storage units based on the state of the storage device connected to each channel and the history information stored in the other storage unit. Select storage part,
The information processing apparatus according to claim 2, wherein the information processing apparatus is an information processing apparatus.
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた1つ以上の記憶装置上の前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、
前記複数の記憶装置へのデータの書き込みを要求する書込命令を受信した場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込むアクセス部と、
を有することを特徴とするストレージ。
A plurality of storage devices in which data is erased in units of blocks;
A plurality of storage units respectively used for storing control information representing spare blocks that are blocks for writing the data on one or more storage devices allocated among the plurality of storage devices;
When a write command for requesting writing of data to the plurality of storage devices is received, a storage unit that uses the control information is selected from the plurality of storage units and stored in the selected storage unit An access unit for writing the data requested by the write command to the spare block specified by the control information;
Storage characterized by having.
前記複数の記憶装置は、複数のチャネルにそれぞれ前記記憶装置が1つ以上、接続され、
前記記憶装置が接続されている各チャネルには、それぞれ、前記複数の記憶部のなかの1つ以上の記憶部が割り当てられ、
前記アクセス部は、前記各チャネルに接続されている前記記憶装置の状態を基に、前記複数の記憶部のなかで前記制御情報を用いる記憶部の選択を行う、
ことを特徴とする請求項5記載のストレージ。
The plurality of storage devices are each connected to one or more storage devices in a plurality of channels,
Each channel to which the storage device is connected is assigned one or more storage units of the plurality of storage units,
The access unit selects a storage unit that uses the control information among the plurality of storage units based on the state of the storage device connected to each channel.
The storage according to claim 5.
情報処理装置に、
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた1つ以上の記憶装置上の前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、を搭載し、
前記複数の記憶装置へのデータの書き込みを要求する書込命令が発行された場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択させ、
該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込ませる、
ことを特徴とするアクセス制御方法。
In the information processing device,
A plurality of storage devices in which data is erased in units of blocks;
A plurality of storage units respectively used for storing control information representing spare blocks that are blocks for writing the data on one or more storage devices allocated among the plurality of storage devices; ,
When a write command for requesting writing of data to the plurality of storage devices is issued, the storage unit using the control information is selected from the plurality of storage units,
Writing the data requested by the write command in a spare block specified by the control information stored in the selected storage unit;
An access control method characterized by the above.
JP2015531385A 2013-12-02 2013-12-02 Information processing apparatus, storage, and access control method Pending JPWO2015083225A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/082403 WO2015083225A1 (en) 2013-12-02 2013-12-02 Information processing device, storage, and access control method

Publications (1)

Publication Number Publication Date
JPWO2015083225A1 true JPWO2015083225A1 (en) 2017-03-16

Family

ID=53273023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015531385A Pending JPWO2015083225A1 (en) 2013-12-02 2013-12-02 Information processing apparatus, storage, and access control method

Country Status (2)

Country Link
JP (1) JPWO2015083225A1 (en)
WO (1) WO2015083225A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7259288B2 (en) * 2018-11-28 2023-04-18 日本電気株式会社 Job scheduling device, management system, and scheduling method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011197788A (en) * 2010-03-17 2011-10-06 Toshiba Corp Memory system
JP2012517627A (en) * 2009-02-12 2012-08-02 株式会社東芝 Memory system and memory system control method
JP2013513881A (en) * 2009-12-15 2013-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, program, and system for reducing access conflict in flash memory system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3507132B2 (en) * 1994-06-29 2004-03-15 株式会社日立製作所 Storage device using flash memory and storage control method thereof
JP4910064B2 (en) * 2010-08-31 2012-04-04 株式会社東芝 Storage control device, storage device, and data movement control method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012517627A (en) * 2009-02-12 2012-08-02 株式会社東芝 Memory system and memory system control method
JP2013513881A (en) * 2009-12-15 2013-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, program, and system for reducing access conflict in flash memory system
JP2011197788A (en) * 2010-03-17 2011-10-06 Toshiba Corp Memory system

Also Published As

Publication number Publication date
WO2015083225A1 (en) 2015-06-11

Similar Documents

Publication Publication Date Title
US11893238B2 (en) Method of controlling nonvolatile semiconductor memory
US9804801B2 (en) Hybrid memory device for storing write data based on attribution of data stored therein
JP4768504B2 (en) Storage device using nonvolatile flash memory
US8898410B1 (en) Efficient garbage collection in a data storage device
US8458394B2 (en) Storage device and method of managing a buffer memory of the storage device
US20130212319A1 (en) Memory system and method of controlling memory system
JP5480913B2 (en) Storage device and memory controller
US9880944B2 (en) Page replacement algorithms for use with solid-state drives
CN109213696B (en) Method and apparatus for cache management
US20150052329A1 (en) Memory control device, host computer, information processing system and method of controlling memory control device
US20170075614A1 (en) Memory system and host apparatus
JP6139381B2 (en) Memory system and method
US20140075097A1 (en) Semiconductor storage device and method for controlling nonvolatile semiconductor memory
US11797452B2 (en) Dynamic buffer caching of storage devices
JP4829202B2 (en) Storage device and memory control method
US9558112B1 (en) Data management in a data storage device
JP2010237907A (en) Storage device and recording method
JP2007102314A (en) Disk cache-control device
JP5594647B2 (en) Storage apparatus and control method thereof
US10162573B2 (en) Storage management system, storage management method, storage medium and information processing system
KR101549569B1 (en) Method for performing garbage collection and flash memory apparatus using the method
WO2015083225A1 (en) Information processing device, storage, and access control method
US20080059706A1 (en) Storage apparatus, storage system and control method for storage apparatus
US9383941B2 (en) Migrating and retrieving queued data in byte-addressable storage
US11474947B2 (en) Information processing apparatus and non-transitory computer-readable storage medium storing cache control program

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160927