WO2016132428A1 - Unité de stockage - Google Patents

Unité de stockage Download PDF

Info

Publication number
WO2016132428A1
WO2016132428A1 PCT/JP2015/054119 JP2015054119W WO2016132428A1 WO 2016132428 A1 WO2016132428 A1 WO 2016132428A1 JP 2015054119 W JP2015054119 W JP 2015054119W WO 2016132428 A1 WO2016132428 A1 WO 2016132428A1
Authority
WO
WIPO (PCT)
Prior art keywords
queue
priority
command
stored
host
Prior art date
Application number
PCT/JP2015/054119
Other languages
English (en)
Japanese (ja)
Inventor
浩司 秋山
小明 姜
雄太 斎藤
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2015/054119 priority Critical patent/WO2016132428A1/fr
Publication of WO2016132428A1 publication Critical patent/WO2016132428A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor

Definitions

  • the present invention relates to a storage apparatus.
  • Patent Document 1 it is possible to prioritize requests, such as target waiting time, but the requests are stored in the device queue regardless of the priority of the requests. . Therefore, for example, when a high priority request arrives from the host after many low priority requests are stored in the queue, a newly arrived high priority (target waiting time (Short) execution of requests may be hindered.
  • targets waiting time target waiting time
  • a storage apparatus includes a processor, a storage controller having a memory, and a storage device connected to the storage controller.
  • the storage controller has a plurality of queues for storing commands received from the host, and a priority and a target queue depth are set for each of the queues.
  • the processor receives a command with priority from the host, the processor determines whether the number of commands stored in the queue is greater than the target queue depth set in the queue. Based on the probability, it is determined whether the received command can be stored in the queue.
  • the information of the present invention may be described in terms of “aaa table” or the like, but the information may be expressed in a data structure other than a table or the like. Therefore, the “aaa table” or the like may be referred to as “aaa information” to indicate that it does not depend on the data structure.
  • information for identifying “bbb” of the present invention may be described by an expression such as “bbb name”. However, the information for identifying these is not limited to a name, but an identifier, an identification number, Any information can be used as long as it can identify “bbb” such as an address.
  • programs described below may be realized by dedicated hardware.
  • Various programs may be installed in each apparatus by a program distribution server or a computer-readable storage medium.
  • the storage medium for example, an IC card, an SD card, a DVD, or the like may be used.
  • FIG. 1 shows a configuration of a storage apparatus (storage system) 1 according to the first embodiment.
  • the storage device 1 includes a storage controller 10 and a plurality of drives 20 connected to the storage controller 10.
  • the drive 20 is a storage device for storing write data from a host device such as the host 2.
  • the drive 20 may be a storage device using a magnetic disk such as an HDD (Hard Disk Drive) as a recording medium, or a storage device adopting a nonvolatile semiconductor memory such as a flash memory as a storage medium. Good.
  • the drive 20 communicates with the disk controller 10 in accordance with the SAS (Serial Attached SCSI) standard.
  • One or more hosts 2 are connected to the storage controller 10.
  • a management host 5 is connected to the storage controller 10.
  • the storage controller 10 and the host 2 are connected via, for example, an FC-SAN 3 that is a network formed using Fiber Channel, or an IP-SAN 4 that is a network formed using Ethernet.
  • the storage controller 10 and the management host 5 are connected via a LAN (Local Area Network) 6 formed using Ethernet as an example.
  • the storage controller 10 includes at least a processor (CPU) 11, a host interface (denoted as “host I / F” in the figure) 12, a disk interface (denoted as “disk I / F” in the figure) 13, a memory 14, a management I / F 15 for use.
  • the processor 11, host IF 12, disk IF 13, memory 14 and management I / F 15 are interconnected via an internal switch (internal SW) 16.
  • internal SW internal switch
  • FIG. 1 a plurality of these components may be mounted in the storage controller 10 in order to ensure high performance and high availability. Further, instead of the internal SW 16, the components may be connected to each other via a common bus.
  • the disk I / F 13 has at least an interface controller and a transfer circuit.
  • the interface controller is a component for converting a protocol (SAS in one example) used by the drive 20 into a communication protocol (PCI-Express as an example) used in the storage controller 10.
  • the transfer circuit is used when the storage controller 10 transfers data (read, write) to the drive 20.
  • An interface controller that supports a plurality of protocols for example, SAS and SATA
  • a plurality of types of drives 20 SAS standard drive and SATA standard drive
  • the host I / F 12 has at least an interface controller and a transfer circuit, like the disk I / F 13.
  • the interface controller of the host I / F 12 converts the communication protocol (for example, fiber channel or Ethernet) used in the data transfer path between the host 2 and the storage controller 10 and the communication protocol used in the storage controller 10. Is to do.
  • the storage apparatus according to the present embodiment includes a host I / F 12 having an interface controller that supports Fiber Channel, and a host I / F 12 having an interface controller that supports Ethernet.
  • the former host I / F 12 is referred to as “host I / F 12-1”, and the latter host I / F is referred to as “host I / F 12-2”.
  • host I / F 12 When these two are pointed out without distinction, they are expressed as “host I / F 12”. However, it is not essential to have a plurality of types of host I / Fs 12, and the storage apparatus 1 may have a configuration having only one type of host I / F 12.
  • the memory 14 is used to store programs executed by the processor 11 and various management information of the storage device 1 used by the processor.
  • the memory 14 is also used for temporarily storing I / O target data for the drive 20.
  • the storage area in the memory 14 used for temporarily storing I / O target data for the drive 20 is referred to as “cache”.
  • the memory 14 is configured by a volatile storage medium such as DRAM or SRAM. However, as another embodiment, the memory 14 may be configured by using a nonvolatile memory.
  • the processor 11 performs various controls of the storage device 1 by reading and executing the program stored in the memory 14.
  • the memory 14 stores a command processing program and an I / O program.
  • the I / O program is a program for reading data from the drive 14 or the cache or writing data to the drive 14 or the cache in accordance with a command received from the host 2.
  • the command processing program is a program for performing processing such as storing a command received from the host 2 in a queue provided in the storage apparatus 1.
  • the CPU 11 executes the I / O program and the command processing program, so that the processing described here and the processing described below are performed. However, in this specification, the description is prevented from becoming redundant. Therefore, the contents of the process may be described with the program as the subject.
  • the storage apparatus 1 has one or more queues for storing commands.
  • the queue is a FIFO type storage area, and the command processing program stores the command received from the host 2 at the end of one of the queues.
  • the command processing program stores the command added with the current time in the queue. This is to calculate the command processing time later.
  • the I / O program reads the command located at the head of the queue and performs the processing (data read, write, etc.) specified by the command.
  • performing the process specified by the command read from the queue by the I / O program is expressed as “process the command”.
  • the queue may be provided on the memory 14 or may be provided in a storage area such as a buffer in the host I / F 12.
  • the number of queues provided in the storage apparatus 1 can be freely set by an administrator (user) of the storage apparatus 1.
  • each queue has a priority.
  • an integer value of 1 or more is used as information expressing priority.
  • a queue having priority 1 has the highest priority, and the larger the priority value, the lower the priority.
  • a queue having a priority X (X is an integer value of 1 or more) is expressed as “QCT-X”.
  • the priorities are 1, 2,. . . , N queues (QCT-1, QCT-2,..., QCT-n) are shown.
  • a plurality of queues may have the same priority, but in this embodiment, an example will be described in which the priorities set for each queue are all different.
  • the priority is specified, the queue is also uniquely specified at the same time, so the priority is also used as the queue identification number.
  • the I / O program preferentially processes commands (also referred to as high priority commands) stored in a high priority queue. Any method can be adopted as a method for preferentially processing a command having a high priority. For example, as long as a command is stored in QCT-1, the I / O program reads and processes the command from QCT-1, and waits in the queue after QCT-2 until there are no more commands stored in QCT-1. The stored command may not be processed. Alternatively, when the I / O program reads a command from the queue, the frequency of reading the command from the queue with a high priority may be set higher than the frequency of reading the command from the queue with a low priority.
  • FIG. 2 shows a configuration example (command 500) of a command received from the host 2 by the storage apparatus 1 according to the present embodiment.
  • the command 500 includes at least information of an operation code (Opcode) 501, a LUN 502, an LBA 503, a length (Length) 504, and a priority 505. These pieces of information are collectively referred to as “command parameters” or “parameters”.
  • Opcode 501 is information indicating the type of command (for example, read, write, etc.). Based on the contents of Opcode 501, the I / O program that has read the command from the queue can determine the processing to be performed by itself.
  • the LUN 502, LBA 503, and length (Length) 504 are information for specifying an area on the access target volume.
  • the priority 505 is information indicating the priority of the command, and an integer value of 1 or more is stored.
  • the host 2 determines the priority 505.
  • the command processing program receives the command 500 from the host 2, the command processing program refers to the priority 505 included in the command 500.
  • the value of the priority 505 is X (X is an integer value of 1 or more)
  • the command 500 is stored in QCT-X.
  • the queue in which the command 500 is stored, that is, QCT-X may be expressed as “queue corresponding to priority”.
  • the memory 14 of the storage controller 10 stores at least two types of management information, a queue control setting table T100 and a queue control management table T200. These tables may be stored in a buffer memory on the host I / F 12-1.
  • the queue control setting table T100 is a table for managing attributes (priorities, etc.) of each queue provided in the storage apparatus 1, and attribute information set for one queue is stored in one row. ing.
  • the queue control setting table T100 includes columns of queue priority T101, maximum queue depth T102, target queue depth T103, acceptance probability T104, I / O restriction method T105, average response time threshold T108, and data transfer amount threshold T109. In these columns, the user stores necessary information using the management host 5 or the like.
  • the queue priority T101 stores the priority set in the queue. As described above, an integer value of 1 or more is used for the priority.
  • the maximum queue depth T102 stores the maximum value of the number of commands that can be stored in the queue.
  • the target queue depth T103 is information used in an I / O receipt determination process described later. Details will be described later.
  • the acceptance probability T104 stores a value calculated by a calculation formula of (target queue depth T103 ⁇ maximum queue depth T102).
  • the maximum queue depth T102 and the target queue depth T103 are information set by the user, but the value stored in the acceptance probability T104 is calculated and stored by the storage apparatus. When the maximum queue depth T102 and the target queue depth T103 are set by the user, the storage apparatus 1 calculates an acceptance probability T104.
  • the maximum queue depth T102 and the target queue depth T103 can be arbitrarily set by the user, in principle, the maximum queue depth T102 of the queue with high priority has a value smaller than the maximum queue depth T102 of the queue with low priority. Is set. This is because when the maximum queue depth T102 is large (meaning that the queue length is long), the response time to the host 2 may be long.
  • the target queue depth T103 needs to be set to a value equal to or less than the maximum queue depth T102. It is desirable to set a value such that the higher the priority is, the higher the acceptance probability T104 is. Since the acceptance probability T104 is a value calculated by the above-described calculation formula, the acceptance probability T104 increases as the target queue depth T103 is closer to the maximum queue depth T102. Therefore, it is desirable that a value close to the maximum queue depth T102 is set as the target queue depth T103 of the queue with high priority. When the CPU 11 or the management host 5 calculates the acceptance probability T104 of each queue when the maximum queue depth T102 and the target queue depth T103 are set by the user, the acceptance probability T104 of the queue with a low priority is low.
  • an error message or the like may be output on the screen of the management host 5 to allow the user to redo the setting of the maximum queue depth T102 and the target queue depth T103. In this way, it is possible to make the acceptance probability T104 of a queue with a high priority higher than the acceptance probability T104 of a queue with a low priority.
  • the I / O restriction method T105 has three types of columns: I / O restriction method (FC) T105-1, I / O restriction method (FCoE) T105-2, and I / O restriction method (iSCSI) T105-3. included. These are information used in the I / O restriction process described later, and will be described together with the description of the I / O restriction process.
  • the average response time threshold value T108 and the data transfer amount threshold value T109 are information used in an I / O status determination process described later. These pieces of information will be described together with the description of the I / O status determination process.
  • the maximum queue depth T102 and the acceptance probability T104 may be set by the user.
  • the storage apparatus 1 calculates the target queue depth T103 using the maximum queue depth T102 and the acceptance probability T104.
  • the queue control management table T200 is a table that stores the status of each queue provided in the storage apparatus 1 and statistical information about commands read from each queue and processed. Information about the state of one queue is stored in one row.
  • the queue control management table T200 has columns of queue priority T201, I / O restriction flag T202, queue length T203, average response time T204, data transfer amount T205, and access tendency T206.
  • the queue priority T201 stores the priority set for the queue. As described above, the queue priority T201 is also a queue identification number.
  • the I / O restriction flag T202 stores information indicating whether storage of commands in the queue is restricted. When N is stored in the I / O restriction flag T202, it indicates that the storage of commands in the queue is not restricted. On the other hand, when Y is stored in the I / O restriction flag T202, it means that the storage of commands in the queue is restricted.
  • the number of commands 500 currently stored in the queue is stored.
  • the initial value is set to 0.
  • the command processing program stores the command in the queue, 1 is added to the queue length T203.
  • the I / O program reads a command from the queue, 1 is subtracted from the queue length T203.
  • the average response time T204 includes the processing time when the command stored in the queue is processed by the I / O program (the command processing result (response) from the host 2 to the host 2 after receiving the command).
  • the average value of the time required to return is stored.
  • the processing time when the command is processed by the I / O program may be referred to as “command processing time”.
  • the data transfer amount T205 stores the data transfer amount (read data amount or write data amount per unit time) when the command stored in the queue is processed by the I / O program. .
  • the access tendency T206 information related to the access tendency of the command stored in the queue is stored.
  • the number of commands stored in the queue that is, the queue length T203
  • the average response time T204 exceeds a predetermined threshold
  • “excessive I / O” is displayed in the access tendency T206.
  • the data transfer amount T205 exceeds a predetermined threshold
  • “excessive transfer amount” is stored in the access tendency T206.
  • FIG. 5 shows the flow of processing performed by the command processing program.
  • the command processing program When receiving the command 500 from the host 2, the command processing program refers to the command parameter (S10).
  • the command processing program refers to the priority 505 among the parameters, and determines whether a valid value is stored in the priority 505.
  • a valid value is not stored (S20: NO), that is, when NULL (invalid value, for example, a value that is not used as a priority, such as -1) is stored in the priority 505
  • a command processing program Stores the priority of the queue with the lowest priority among the queues of the storage apparatus 1 in the priority 505 (S30).
  • the command processing program confirms the queue length of the queue corresponding to the priority 505 (S40). For example, when the value of the priority 505 is 2, the command processing program checks the value of the queue length T203 of the row with the queue priority T201 of 2 among the rows of the queue control management table T200. When the queue length has reached the maximum queue depth T102 (S40: YES), the received command 500 cannot be stored in the queue. Therefore, the command processing program returns response information (Queue Full) indicating that there is no space in the queue for storing commands to the host 2 (S50). Thereafter, the command processing program executes the processing after S110, and the processing after S110 will be described later.
  • the command processing program executes the processing after S110, and the processing after S110 will be described later.
  • the command processing program determines whether the queue corresponding to the priority 505 is in I / O restriction (S60). This can be done by checking whether the I / O restriction flag T202 of the queue control management table T200 is Y or not. In the case of Y, that is, when the queue corresponding to the priority level 505 is I / O restricted (S60: YES), the command processing program executes I / O receipt determination processing (S70).
  • the I / O receipt determination process will be described later with reference to FIG. 6, but it is possible to store the received command in the queue by executing the I / O receipt determination process (whether I / O receipt is possible). Or whether it cannot be stored in the queue (I / O cannot be received).
  • the command processing program stores the received command 500 in the queue corresponding to the priority 505 (S90). ).
  • the command 500 stored in the queue is taken out from the queue by the I / O program after a while, and processing (read processing or write processing) is performed (S100). Since the process performed by the I / O program is a known process, detailed description thereof will not be given here.
  • the command processing program performs statistical information calculation processing (S110). Specifically, the values to be stored in the average response time T204 and the data transfer amount T205 are calculated based on the response time and the data transfer amount of the command processed in S100, and the calculation result is calculated as the average response time T204, Stored in the data transfer amount T205.
  • the command processing program executes an I / O status determination process (S120). Details of this processing will be described later with reference to FIG. 8.
  • the access tendency T206 of the queue storing the received command may be changed.
  • the command processing program has a lower priority than the queue where the received command is stored (the value of the queue priority T201).
  • the I / O restriction flag T202 is set to Y, and the process ends. If the access trend T206 is neither excessive I / O nor excessive transfer amount (S130: NO), the command processing program does nothing and ends the process.
  • the command 500 is not stored in the queue even if the queue queue length T203 is less than the maximum queue depth T102.
  • the command processing program responds to the host 2 that the command 500 cannot be accepted by performing the I / O restriction processing (S210). Details of the I / O restriction processing in S210 will be described later with reference to FIG.
  • the command processing program After S210, the command processing program performs statistical information calculation processing (S220) and I / O status determination processing (S230).
  • S220 statistical information calculation processing
  • S230 I / O status determination processing
  • the I / O receipt determination process is a process executed by the I / O receipt determination program.
  • the I / O receipt determination program is called from the command processing program to start execution. As a result of the execution, information on either “I / O reception is possible” or “I / O reception is not possible” Return to processing program.
  • the I / O receipt determination program determines whether the command to be processed requires an I / O restriction (S701).
  • the command having the highest priority 505 is determined as requiring no I / O restriction, and other commands are judged as requiring I / O restriction. If the command to be processed does not require I / O restriction (S701: YES), the I / O receipt determination program returns “I / O receipt is possible” to the command processing program (S710), and the process is terminated.
  • the I / O receipt determination program checks the queue length of the queue in which the command to be processed is stored (S702). Specifically, the value of the queue length T203 of the row in which the queue priority T201 is equal to the priority 505 of the command 500 among the rows of the queue control management table T200 is confirmed. Here, it is assumed that the value of the queue length T203 is A. Further, the I / O receipt determination program confirms the target queue depth of the queue in which the command to be processed is stored (S703). Specifically, the value of the target queue depth T103 of the row in which the queue priority T101 is equal to the priority 505 of the command 500 among the rows of the queue control setting table T100 is confirmed. Here, it is assumed that the value of the target queue depth T103 is B.
  • step S710 the process ends. If A is larger than B (S704: NO), the processes in and after S705 are executed.
  • the I / O receipt determination program confirms the maximum queue depth of the queue in which the command to be processed is stored. (S703). Specifically, the value of the maximum queue depth T102 in the row where the queue priority T101 is equal to the priority 505 of the command 500 among the rows of the queue control setting table T100 is confirmed. Here, it is assumed that this value is C.
  • the I / O receipt determination program generates one random number from 1 to C (S706).
  • any random number generation algorithm can be used as long as it is an algorithm that can generate a value between 1 and C with equal probability.
  • D be the value of the random number generated here. If D is less than or equal to B, the I / O receipt determination program returns “I / O receipt is possible” to the command processing program (S710), and the process is terminated. If D is greater than B, the I / O receipt determination program returns “I / O cannot be received” to the command processing program (S708), and the process ends.
  • the command is determined to be I / O reception with a probability of B ⁇ C (that is, “target queue depth ⁇ maximum queue depth”).
  • the acceptance probability T104 is acquired in S705, and a random number between 0 and 1 is generated in S706. In S707, whether the generated random number is less than the acceptance probability T104 It may be determined whether or not.
  • the I / O restriction process is a process for determining response information to be sent back to the host 2 in response to a command determined to be unreceivable by the I / O reception determination program.
  • the I / O restriction process is a process executed by the I / O restriction program.
  • I / O restriction method T105 Prior to the description of the I / O restriction process, information stored in the I / O restriction method T105 of the queue control setting table T100 will be described.
  • the storage apparatus 1 supports a plurality of communication protocols as communication protocols between the host 2 and the storage apparatus 1. Since the content of the response information returned to the host 2 varies depending on the communication protocol, response information corresponding to the communication protocol is stored in the I / O restriction method T105. Therefore, there are three types of I / O restriction method T105: I / O restriction method (FC) T105-1, I / O restriction method (FCoE) T105-2, and I / O restriction method (iSCSI) T105-3. Includes columns.
  • the response information indicating that the storage apparatus 1 is in a state where the command 500 cannot be received is returned to the host 2
  • a method of returning the response information of the upper protocol layer and a method of returning the response information of the lower protocol layer There is.
  • P_BSY that is response information defined by the lower protocol layer FC-2
  • FC-2 There are a method of returning (Port busy) and a method of returning Queue Full, which is response information defined in FC-4 of the upper protocol layer.
  • each column of the I / O restriction method (FC) T105-1, I / O restriction method (FCoE) T105-2, and I / O restriction method (iSCSI) T105-3 includes response information of a lower protocol layer. And a column for storing response information of the upper protocol layer.
  • response information that the user wishes to return to the host 2 can be stored as appropriate.
  • Response information may be stored only in one side. If response information is stored in both, appropriate response information is selected and returned to the host 2 by an I / O restriction program described later.
  • the response information returned to the host 2 is changed according to the access tendency.
  • the I / O restriction program When the I / O restriction program is started, the I / O restriction program first stores information on the access tendency T206 in the row of the queue control management table T200 where the queue priority T201 is equal to the priority 505 of the command 500. Obtain (S2101). Subsequently, the I / O restriction program obtains information on the I / O restriction method T105 in the row of the queue control setting table T100 where the queue priority T101 is equal to the priority 505 of the command 500 (S2102).
  • the I / O restriction is performed.
  • the program determines whether the information of the access tendency T206 acquired in S2102 is excessive I / O. If there is excessive I / O (S2104: YES), the response information of the higher protocol layer is selected to respond to the host 2 (S2105). On the other hand, if the information of the access tendency T206 acquired in S2102 is not excessive I / O (S2104: NO), the response information of the lower protocol layer is selected and responded to the host 2 (S2106). If it is determined in S2103 that only one piece of information is stored in the I / O restriction method T105 (S2103: NO), the response information stored in the I / O restriction method T105 is selected and the host is selected. 2 is responded (S2110).
  • the I / O status determination process is a process of updating the value of the access tendency T206, and the I / O status determination process is started when the command processing program calls the I / O status determination program in S120 or S230.
  • the I / O status determination program When the I / O status determination program is started, first, the I / O status determination program sets the queue length T203 of the row equal to the priority 505 of the command 500 to be processed among the rows in the queue control management table T200. Average response time T204 and data transfer amount T205 are acquired (S1201). As a result, when the data transfer amount T205 exceeds a predetermined threshold value (this threshold value is referred to as “threshold value 1”) (S1202: YES), the I / O status determination program displays an “transfer amount” in the access tendency T206. Set “Excessive” and finish the process.
  • the I / O status determination program determines whether the queue length T203 exceeds a predetermined threshold (this threshold is referred to as “threshold 2”). judge. If the queue length T203 exceeds the threshold value 2 (S1203: YES), the I / O status determination program sets “I / O excessive” in the access tendency T206 (S1210), and the process ends.
  • the I / O status determination program When the queue length T203 does not exceed the threshold 2 (S1203: NO), the I / O status determination program has exceeded the predetermined threshold (this threshold is referred to as “threshold 3”). If the average response time T204 exceeds the threshold 3 (S1204: YES), “I / O excessive” is set in the access tendency T206 (S1210), and the process is terminated. If the average response time T204 does not exceed the threshold 3 (S1204: NO), the I / O status determination program clears the information set in the access tendency T206 (even if “I / O excess”) (S1205), and the process ends.
  • the storage apparatus has a queue for storing commands for each priority level, and is configured to preferentially process commands with high priority levels.
  • the load on the storage device is high, many commands are stored in the queue in most of the plurality of queues. In such a case, it becomes difficult to maintain the target performance of the commands stored in the high priority queue.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)

Abstract

Une unité de stockage selon un aspect de la présente invention comprend un processeur, un contrôleur de stockage ayant une mémoire, et des dispositifs de stockage connectés au contrôleur de stockage. Le contrôleur de stockage comprend une pluralité de files d'attente pour stocker une commande reçue en provenance d'un hôte, et une priorité et une profondeur de file d'attente souhaitée sont définies pour chaque file d'attente. Lorsque le processeur reçoit une commande avec une priorité en provenance d'un hôte, le processeur détermine si le nombre de commandes stockées dans une file d'attente sélectionnée, parmi la pluralité de files d'attente, dépasse la profondeur de file d'attente souhaitée pour la file d'attente, et si le nombre de commandes stockées dans la file d'attente dépasse la profondeur de file d'attente souhaitée pour la file d'attente, le processeur détermine si la commande reçue peut être stockée dans la file d'attente, sur la base d'une probabilité prédéterminée.
PCT/JP2015/054119 2015-02-16 2015-02-16 Unité de stockage WO2016132428A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/054119 WO2016132428A1 (fr) 2015-02-16 2015-02-16 Unité de stockage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/054119 WO2016132428A1 (fr) 2015-02-16 2015-02-16 Unité de stockage

Publications (1)

Publication Number Publication Date
WO2016132428A1 true WO2016132428A1 (fr) 2016-08-25

Family

ID=56692089

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/054119 WO2016132428A1 (fr) 2015-02-16 2015-02-16 Unité de stockage

Country Status (1)

Country Link
WO (1) WO2016132428A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018151749A (ja) * 2017-03-10 2018-09-27 日本電気株式会社 制御装置、情報処理システム、制御方法およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206623A (ja) * 2002-12-26 2004-07-22 Fujitsu Ltd ストレージシステム及びその動的負荷管理方法
WO2004088547A2 (fr) * 2003-03-27 2004-10-14 Hewlett-Packard Development Company L.P. Controleur de qualite de service et procede pour systeme de stockage de donnees
JP2008015823A (ja) * 2006-07-06 2008-01-24 Citizen Holdings Co Ltd 通信装置および通信制御方法、並びに当該通信装置を備えたプリンタ
JP2010102458A (ja) * 2008-10-22 2010-05-06 Hitachi Ltd コマンドの起動を制御するストレージシステム及び方法
JP2012150710A (ja) * 2011-01-20 2012-08-09 Nec Corp コマンド実行装置、コマンド実行システム、コマンド実行方法およびコマンド実行プログラム
WO2012164386A2 (fr) * 2011-06-01 2012-12-06 Alcatel Lucent Procédé de commande de trafic et appareil de commande de trafic

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206623A (ja) * 2002-12-26 2004-07-22 Fujitsu Ltd ストレージシステム及びその動的負荷管理方法
WO2004088547A2 (fr) * 2003-03-27 2004-10-14 Hewlett-Packard Development Company L.P. Controleur de qualite de service et procede pour systeme de stockage de donnees
JP2008015823A (ja) * 2006-07-06 2008-01-24 Citizen Holdings Co Ltd 通信装置および通信制御方法、並びに当該通信装置を備えたプリンタ
JP2010102458A (ja) * 2008-10-22 2010-05-06 Hitachi Ltd コマンドの起動を制御するストレージシステム及び方法
JP2012150710A (ja) * 2011-01-20 2012-08-09 Nec Corp コマンド実行装置、コマンド実行システム、コマンド実行方法およびコマンド実行プログラム
WO2012164386A2 (fr) * 2011-06-01 2012-12-06 Alcatel Lucent Procédé de commande de trafic et appareil de commande de trafic

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018151749A (ja) * 2017-03-10 2018-09-27 日本電気株式会社 制御装置、情報処理システム、制御方法およびプログラム

Similar Documents

Publication Publication Date Title
US8271749B2 (en) Storage subsystem and method of executing commands by controller
US8387063B2 (en) Storage apparatus and load balancing method
US8893146B2 (en) Method and system of an I/O stack for controlling flows of workload specific I/O requests
US8806070B2 (en) Storage device, and storage device control method
US10664182B2 (en) Storage system
JP6224186B1 (ja) Raidストレージシステム、ストレージコントローラ及びraidアレイパトロール方法
JP5555370B2 (ja) コマンドの起動を制御するストレージ装置及びその方法
US9898201B2 (en) Non-volatile memory device, and storage apparatus to reduce a read retry occurrence frequency and prevent read performance from lowering
US9836246B2 (en) Storage management device, performance adjustment method, and computer-readable recording medium
WO2013042174A1 (fr) Système informatique et procédé de gestion de stockage
US20170262231A1 (en) Memory controller for increasing endurance of memory, storage device, and method of controlling storage device
GB2519549A (en) Write cache destaging
US9015373B2 (en) Storage apparatus and method of controlling storage apparatus
US10310923B1 (en) Probabilistic aging command sorting
JP5471822B2 (ja) 入出力制御プログラム、情報処理装置および入出力制御方法
KR102526104B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
WO2016132428A1 (fr) Unité de stockage
JP5949224B2 (ja) ストレージ制御装置、該プログラム及び該方法
US9563574B2 (en) Storage control device and method of controlling storage control device
WO2016059715A1 (fr) Système informatique
CN107870820B (zh) 在固态驱动器中提供服务质量
US10783096B2 (en) Storage system and method of controlling I/O processing
JP6578694B2 (ja) 情報処理装置、方法及びプログラム
US10740040B2 (en) System and computer for controlling caching for logical storage
JP7163672B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15882533

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15882533

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP