内页banner
  • Two write modes for the cache Two write modes for the cache Sep 28, 2023
    The RAID controller has two options for handling upper-level write IO, as follows:   1.WriteBack mode: when the data is sent from the upper layer, the RAID controller will inform the host that I0 has completed immediately after saving it in the cache, so that the host can execute the next IO without waiting. At this time, the data is in the cache of the RAID controller card, but not really written to the disk, which plays a buffer role. The RAID controller waits for the time to be idle and either writes to disk one by one, or writes to disk in bulk, or queues the IO (similar to the queuing technique on disk) for some optimization algorithm to write to disk efficiently. Because the disk write speed is slow, the RAID controller in this case deceives the host, but gains high speed, which is "keep the easy to the top, keep the trouble to yourself." This has a fatal shortcoming, that is, once the power fails unexpectedly, the data in the cache on the RAID card will all be lost, and at this time the host thinks that IO has completed, so the upper and lower layers will produce inconsistency, the consequences will be very serious. As a result, critical applications such as databases have their own measures of consistency. Because of this, the high-end RAID card needs to use the battery to protect the cache, so that in the case of accidental power down, the battery can continue to power the cache to ensure that the data is not lost. When powered up again, the RAID card will first write the outstanding IO from the cache to disk. 2.WriteThrough mode: This is the writethrough mode, i.e., the top IO. Only after the data has actually been written to disk by the RAID controller will the host be notified of the completion of IO, which ensures high reliability. In this case, the cache's speedup is no longer beneficial, but its buffering is still effective. In addition to being a write cache, the read cache is also very important. Caching is a complex subject and has a complex mechanism, one of which is called PreFctch, or prefetching, which reads data on disk that are "likely" to be accessed by the host next into the cache before the host has issued a read IO request. How do we calculate the possibility? In fact, it is considered that the next time the host IO, there is a large rate of children will read the data in the disk location adjacent to the data read this time. This assumption is very useful for IO sequential reads, such as reading data that is logically contiguous, such as FTP large file transfer services, video on demand services, and so on, which are large file reading applications. On the other hand, if many small files are also stored contiguously on disk, caching will greatly improve performance, because reading small files requires a high IOPS, and without caching, it will take a long time to rely on the head seek to complete IO each time. There is also a caching algorithm, which is not based on prefetching, but on the assumption that the next time the host does IO, it may also read the data from the last or several (recent) reads. This assumption is completely different from prefetching. After the RAID controller reads a piece of data into the cache, if the data is changed by the host's write IO, the controller does not immediately write it to disk for storage. It stays in the cache, because it assumes that the host may read the data again in the near future. Then there is no need to write to disk and delete the cache, and then wait for the host to read, and then read from the disk to the cache, it is better to static brake, simply stay in the cache, wait for the host to "toss" the frequency is not high, then write to disk. Tips:Medium and high end RAID cards generally have more than 256MB of RAM as cache. Unleash the power of RAID Experience high performance data storage with our advanced RAID cards. Trust our 10 + years of expertise.STOR Technology Limited will also provide you with a large number of original high-performance products, such as: lsi 9480 8i8e, lsi 9361 4i, lsi 9341 8i and so on, three-year warranty and unsurpassed factory price to reduce your concerns.
  • Structure of a RAID card Structure of a RAID card Sep 14, 2023
    Today let's continue to talk about the structure of the raid card. RAID card with CPU seems to be a small computer system, has its own CPU, memory, ROM, bus and IO interface, but this small computer is to serve the big computer. It is important to include the SCSI controller on the SCSI RAID card, because the physical SCSI disks are still attached to the back end. Its front end is connected to the PCI bus of the host, so there must be a PCI bus controller to maintain the PCI bus arbitration, data sending and receiving functions. Also need to have a ROM, is generally used as a Flash chip ROM, which stores the initialization of the RAID card necessary code and the implementation of the RAID function required code. The role of RAM, first of all, is as a data cache to improve performance; Secondly, it is the memory space required by the CPU on the RAID card to perform RAID operations. XOR chip is specially used to do parity data calculation of RAID3, 5, 6 and so on. Letting the CPU do the validation would require code execution, which would take many cycles. However, if a dedicated digital circuit is used directly, the result is obtained immediately as soon as it is in and out. Therefore, in order to get rid of the CPU, the circuit module specially used for XOR operation is added, which greatly increases the speed of data check calculation. The difference between RAID card and SCSI card is the RAID function, the other is not too different. A RAID card is called a multi-channel RAID card if there are multiple SCSI channels on it. At present, the SCSI RAID card has up to 4 channels, and its back end can be connected to 4 SCSI buses, so up to 64 SCSI devices (16 bit bus) can be connected. With the addition of RAID functionality, the SCSI controller becomes a puppet of the RAID program code and does whatever the RAID tells it to do. The SCSI controller is fully aware of the disks under its control and communicates with the RAID application code. Once the RAID code knows which disks are in the SCSI controller's hands, it can adjust the RAID code to use ROM options such as RAID type, strip size, and so on, instructing its dummy SCSI controller to report "virtual" logical disks to the host instead of all physical disks. Hint: RAID has a concept of striping in mind. By striping, we don't really mean dividing the disk into bars and strips as in low-level formatting. This striping is all "in the mind," that is, in the program code. Because once the position and size of the strip are set, they are fixed. An LBA address block on a virtual disk corresponds to one or more LBA blocks on the real disk, and these mappings are predefined through the configuration interface. And a certain RAID algorithm is often embodied in some complex formulas, rather than using a table to record the corresponding LBA of each virtual disk and physical disk, so the efficiency will be poor. After each 10 arrives, RAID has to query this table to obtain the LBA of the corresponding physical disk, and the query speed is very slow, let alone in the face of such a large table. If we use a functional relationship formula between logical LBA and physical LBA to do the operation, the speed is very fast. Because mapping is performed entirely by formula, no flags are ever written to the physical disk to mark the so-called strips. The concept of a strip is only logical and does not exist physically. Therefore, the concept of strip only "memory" in the RAID program code can be, to change is to change the program code can be. The only thing that needs to be written to the disk is some RAID information, so that even if the disk is removed and placed on another RAID card of the same model, the previously made RAID information can be correctly recognized. The SNIA association has defined a standard format of DDFRAID information, requiring all RAID card manufacturers to store RAID information in accordance with this standard, so that all RAID cards are common. After striding, the RAID application code directs the SCSI controller to submit a virtualized "virtual disk" or "logical disk," or simply a LUN, to the OS-level driver code. 1. Structure of a RAID card RAID card with CPU seems to be a small computer system, has its own CPU, memory, ROM, bus and IO interface, but this small computer is to serve the big computer. It is important to include the SCSI controller on the SCSI RAID card, because the physical SCSI disks are still attached to the back end. Its front end is connected to the PCI bus of the host, so there must be a PCI bus controller to maintain the PCI bus arbitration, data sending and receiving functions. Also need to have a ROM, is generally used as a Flash chip ROM, which stores the initialization of the RAID card necessary code and the implementation of the RAID function required code. The role of RAM, first of all, is as a data cache to improve performance; Secondly, it is the memory space required by the CPU on the RAID card to perform RAID operations. XOR chip is specially used to do parity data calculation of RAID3, 5, 6 and so on. Letting the CPU do the validation would require code execution, which would take many cycles. However, if a dedicated digital circuit is used directly, the result is obtained immediately as soon as it is in and out. Therefore, in order to get rid of the CPU, the circuit module specially used for XOR operation is added, which greatly increases the speed of data check calculation. The difference between RAID card and SCSI card is the RAID function, the other is not too different. A RAID card is called a multi-channel RAID card if there are multiple SCSI channels on it. At present, the SCSI RAID card has up to 4 channels, and its back end can be connected to 4 SCSI buses, so up to 64 SCSI devices (16 bit bus) can be connected. With the addition of RAID functionality, the SCSI controller becomes a puppet of the RAID program code and does whatever the RAID tells it to do. The SCSI controller is fully aware of the disks under its control and communicates with the RAID application code. Once the RAID code knows which disks are in the SCSI controller's hands, it can adjust the RAID code to use ROM options such as RAID type, strip size, and so on, instructing its dummy SCSI controller to report "virtual" logical disks to the host instead of all physical disks. Hint: RAID has a concept of striping in mind. By striping, we don't really mean dividing the disk into bars and strips as in low-level formatting. This striping is all "in the mind," that is, in the program code. Because once the position and size of the strip are set, they are fixed. An LBA address block on a virtual disk corresponds to one or more LBA blocks on the real disk, and these mappings are predefined through the configuration interface. And a certain RAID algorithm is often embodied in some complex formulas, rather than using a table to record the corresponding LBA of each virtual disk and physical disk, so the efficiency will be poor. After each 10 arrives, RAID has to query this table to obtain the LBA of the corresponding physical disk, and the query speed is very slow, let alone in the face of such a large table. If we use a functional relationship formula between logical LBA and physical LBA to do the operation, the speed is very fast. Because mapping is performed entirely by formula, no flags are ever written to the physical disk to mark the so-called strips. The concept of a strip is only logical and does not exist physically. Therefore, the concept of strip only "memory" in the RAID program code can be, to change is to change the program code can be. The only thing that needs to be written to the disk is some RAID information, so that even if the disk is removed and placed on another RAID card of the same model, the previously made RAID information can be correctly recognized. The SNIA association has defined a standard format of DDFRAID information, requiring all RAID card manufacturers to store RAID information in accordance with this standard, so that all RAID cards are common. After striding, the RAID application code directs the SCSI controller to submit a virtualized "virtual disk" or "logical disk," or simply a LUN, to the OS-level driver code. We through several articles detailed introduction of raid card, I believe you have a deeper understanding of raid card. If you have a lot of questions about server accessories, storage, then welcome to consult, it is my pleasure to answer your questions. STOR Technology Limited will also provide you with a large number of original high-performance products, such as: lsi 9480 8i8e, lsi 9361 4i, lsi 9341 8i and so on, three-year warranty and unsurpassed factory price to reduce your concerns.

Need Help? leave a message

leave a message
If you are interested in our products and want to know more details, please leave a message here, we will reply you as soon as we can.
Submit
Contact us #
+86-755-83677183

Our hours

Mon 11/21 - Wed 11/23: 9 AM - 8 PM
Thu 11/24: closed - Happy Thanksgiving!
Fri 11/25: 8 AM - 10 PM
Sat 11/26 - Sun 11/27: 10 AM - 9 PM
(all hours are Eastern Time)

Home

Products

whatsApp

contact