Controllers, storage devices
The controller generates unique LBAs for each physical disk within a logical disk configuration, addressing the risk of information leakage by ensuring data confidentiality even if physical disks are moved to different systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-27
- Publication Date
- 2026-03-11
AI Technical Summary
Conventional controllers and storage devices with mirroring functions face the risk of information leakage when a physical disk is attached to another computer system due to direct accessibility of physical disks using the same LBA, compromising data security.
A controller that configures a logical disk using multiple physical disks and generates a unique LBA for each physical disk, ensuring that the LBAs of the logical and physical disks differ, thereby preventing direct access and maintaining data confidentiality.
Prevents information leakage by ensuring that even if a physical disk is removed and connected to a different system, the data stored on the physical disks remains inaccessible, thus enhancing data security and confidentiality.
Smart Images

Figure 2026042462000001_ABST
Abstract
Description
[Technical Field]
[0001] FIELD Embodiments of the present invention relate to a controller and a storage device. [Background technology]
[0002] Computer systems used in fields such as social infrastructure systems have physical disk drives as auxiliary storage devices. These physical disk drives are equipped with RAID (Redundant Array of Independent Disks) functionality as a redundancy technology to improve the reliability and availability of system operations. In the following explanation, the RAID1 function of the RAID function may be referred to as the mirroring function.
[0003] The mirroring function creates a single logical disk using multiple physical disks. Reading and writing to the logical disk results in reading and writing to each of the multiple physical disks that make up the logical disk. In this case, the multiple physical disks each hold the same content (mirrored).
[0004] In a computer system with a storage device equipped with a mirroring function, the OS (Operating System) or file system executes disk I / O (disk input / output) requests to the storage device by specifying a number assigned to each sector by LBA (Logical Block Addressing). In the following explanation, the number assigned to each sector may be referred to as the LBA (Logical Block Address).
[0005] The LBA specified by the OS in a disk I / O request is the LBA on the logical disk created by the mirroring function. RAID controllers that implement the mirroring function often do not perform any special address conversion for the LBA on the logical disk, and instead specify the LBA of the physical disk as the LBA of the logical disk. Sharing the LBA of the logical disk and the LBA of the physical disk makes it possible to prevent a decrease in disk I / O speed.
[0006] However, this method of specifying LBA makes it possible to directly access the physical disk without using the mirroring function. In other words, if one of multiple physical disks is installed in another computer system that shares the same OS, disk I / O for the storage device becomes possible. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Patent Publication No. 2021-82156 [Patent Document 2] JP 2011-253557 A Summary of the Invention [Problem to be solved by the invention]
[0008] As described above, conventional controllers and storage devices have a problem in that even if a physical disk on which a logical disk is constructed using the mirroring function is attached to another computer system, it remains accessible, creating a risk of information leakage. The embodiments of the present invention have been made to solve this problem, and have as their object to provide a controller and storage device that can reduce the risk of information leakage. [Means for solving the problem]
[0009] A controller according to an embodiment is a controller that configures a single logical disk using a plurality of physical disks and is capable of executing disk input / output requests to the plurality of physical disks in response to disk input / output requests to the logical disk received from a host computer. The controller according to the embodiment includes a request receiving unit that receives a first logical block address indicating an input / output destination of the disk input / output request on the logical disk, an LBA generating unit that generates, based on the first logical block address, a second logical block address indicating an input / output destination of the disk input / output request on the plurality of physical disks, and a request executing unit that executes the disk input / output request to the second logical block address of each of the plurality of physical disks. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a block diagram showing the configuration of a computer system according to a first embodiment. [Figure 2] 1 is a block diagram showing the functional configuration of a computer system according to a first embodiment. [Figure 3] FIG. 2 is a diagram illustrating the relationship between a logical disk and a plurality of physical disks in the storage device according to the first embodiment. [Figure 4] FIG. 10 is a diagram illustrating the relationship between a logical disk and a plurality of physical disks in a storage device according to a comparative example. [Figure 5] 10 is a flowchart illustrating the operation of the storage device according to the first embodiment. [Figure 6] FIG. 10 is a block diagram showing the functional configuration of a computer system according to a second embodiment. [Figure 7] 10 is a flowchart illustrating the operation of a storage device according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0011] (Configuration of the first embodiment) Hereinafter, a computer system according to an embodiment will be described in detail with reference to the drawings. Fig. 1 is a block diagram showing the configuration of a computer system 1 according to a first embodiment. Fig. 2 is a block diagram showing the functional configuration of the computer system 1 according to the first embodiment.
[0012] 1, a computer system 1 of this embodiment includes a storage device 10, an expansion bus interface 15, and a host computer 40. The storage device 10 is connected to the host computer 40 via the expansion bus interface 15. The storage device 10 includes a RAID controller 20 and multiple physical disks 30 (30a, ..., 30n).
[0013] The storage device 10 is an auxiliary storage device for the host computer 40. The storage device 10 includes a RAID controller 20 that receives disk I / O requests from the host computer 40, physical disks 30 on which the RAID controller 20 executes disk I / O, and an expansion bus interface 15.
[0014] The RAID controller 20 is a functional element that can configure a logical disk (virtual drive) using multiple physical disks 30. The RAID controller 20 of this embodiment can control the multiple physical disks 30 so that they appear as a single logical disk to the host computer 40. The RAID controller 20 of this embodiment also provides a mirroring function that complies with RAID1, and can improve the performance and fault tolerance of the storage device 10.
[0015] The physical disk 30 is a storage medium of the storage device 10. The physical disk 30 can be realized by, for example, a hard disk drive (HDD) or a solid state drive (SSD), etc. The physical disk 30 can be configured by a plurality of physical disks 30a to 30n.
[0016] The expansion bus interface 15 is an interface that connects the host computer 40 and the storage device 10. The expansion bus interface 15 can use a bus interface that complies with the PCI Express (registered trademark) standard, for example.
[0017] The host computer 40 is a computer that issues disk I / O requests. The host computer 40 has an arithmetic unit (not shown) that includes a CPU (Central Processing Unit), and a main memory device (not shown) that stores data and programs. The host computer 40 is connected to the storage device 10, and can send commands related to reading and writing data to the storage device 10. The host computer 40 has an expansion bus interface 15.
[0018] Next, the functional configuration of the computer system of the embodiment will be described in detail with reference to FIG.
[0019] As shown in FIG. 2, the RAID controller 20 includes a host interface 210, an I / O processor 220, a main memory device 230 of the I / O processor 220, and a memory device interface 240.
[0020] The host interface 210 is a bus interface that connects to the host computer 40. The host interface 210 constitutes the expansion bus interface 15. The host interface 210 can be realized by a standard such as PCI Express, for example.
[0021] The I / O processor 220 is a processor that controls the RAID controller 20. The I / O processor 220 has RAID firmware 222. The I / O processor 220 configures a logical disk 224.
[0022] The RAID firmware 222 is a program element that causes the I / O processor 220 to function. The RAID firmware 222 implements RAID functions. The RAID firmware 222 can be stored in a rewritable nonvolatile memory or the like. The RAID firmware 222 may also be stored in the main storage device 230.
[0023] The main memory device 230 is a memory that provides a storage area necessary for the operation of the I / O processor 220. The main memory device 230 may be configured, for example, from a volatile memory. The main memory device 230 has a cache area 231.
[0024] The cache area 231 is a memory area in which the I / O processor 220 temporarily stores data. The cache area 231 is used for write-back caching and read caching. The RAID firmware 222 operated by the I / O processor 220 can read and write data from and to the cache area 231.
[0025] The storage device interface 240 is an interface that connects multiple physical disks 30. The storage device interface 240 can use interface standards such as SATA (Serial Advanced Technology Attachment), SCSI (Small Computer System Interface; registered trademark), and SAS (Serial Attached SCSI). The storage device interface 240 can accommodate multiple physical disks 30. The RAID firmware 222 configures a logical RAID drive (logical disk) using multiple physical disks 30 using known RAID technology.
[0026] As shown in FIG. 2, the host computer 40 includes a host interface 110, an operating system (OS) 120, and an application 140.
[0027] The host interface 110 is a bus interface that connects to the RAID controller 20. The host interface 110 constitutes the expansion bus interface 15. The host interface 110 can be realized by a standard such as PCI Express, for example.
[0028] The OS 120 is a program element that controls the host computer 40. The OS 120 is loaded into a main storage device (not shown) of the host computer 40 and is operated by a CPU (not shown). The OS 120 includes a device driver 122.
[0029] The device driver 122 is a program element (device driver) that manages the connection path (channel) between the storage device 10 and the host computer 40. In the example shown in Fig. 2, the device driver 122 recognizes the logical disk 224 as a RAID drive. In general, the device driver 122 is incorporated into the OS 120 as standard.
[0030] The application 140 is a program element that runs on the OS 120. The application 140 can access a logical disk 224 configured by the storage device 10 as a RAID drive.
[0031] (Operation of the first embodiment) Next, the operation of the computer system of the embodiment will be described in detail with reference to Figures 3 to 5. Figure 3 is a diagram explaining the relationship between a logical disk and a plurality of physical disks in a storage device according to the first embodiment. Figure 4 is a diagram explaining the relationship between a logical disk and a plurality of physical disks in a storage device according to a comparative example. Figure 5 is a flowchart explaining the operation of the storage device according to the first embodiment.
[0032] In the storage device of this embodiment, the LBA of the logical disk and the LBA of the physical disk are different values, making it difficult to directly access the physical disk. In other words, even if the physical disk of this embodiment is connected as a physical disk related to another storage device, it is possible to prevent the execution of disk I / O requests from the host computer.
[0033] As shown in Figure 4, when a RAID controller configures a logical disk using a mirroring function, the LBAs on the logical disk and the LBAs on the physical disks are generally the same. In the example shown in Figure 4, LBA0 of the logical disk 224 corresponds to LBA0 of the physical disk 30a and LBA0 of the physical disk 30n. Similarly, LBA1 of the logical disk 224 corresponds to LBA1 of the physical disk 30a and LBA1 of the physical disk 30n, and LBAm of the logical disk 224 corresponds to LBAm of the physical disk 30a and LBAm of the physical disk 30n. In other words, for a disk I / O request and LBA received from the host computer 40, the RAID controller executes the disk I / O request using the same LBA for the physical disks 30a and 30n. Content written to a specific LBAn on the logical disk is written to the same LBAn on the mirrored physical disks 30a and 30n.
[0034] On the other hand, in the storage device of the embodiment, the LBAs are common between the physical disks, but the LBAs on the logical disks and the LBAs on the physical disks are configured to have different values. That is, when the RAID controller 20 receives an LBA from the host computer 40, it generates a different LBA with a certain regularity and executes disk I / O to the physical disks using that LBA.
[0035] 3, the RAID controller 20 performs a process of adding a predetermined fixed value a (a value unique to the RAID controller 20 and the RAID firmware 222) to the LBA for the logical disk received from the host computer 40. That is, the RAID controller 20 executes access to the physical disk using the LBA obtained by adding the fixed value a to the received LBA. For example, the RAID controller 20 adds the fixed value a to LBAm received from the host computer 40, and executes disk I / O for the physical disks 30a and 30n using LBAm+a.
[0036] This process ensures mirroring between the physical disks, but the logical disk and the physical disk use different LBAs. In other words, if the physical disk is connected to a RAID controller different from the one that created the logical disk, or if the physical disk is accessed using an LBA received directly from the host computer without using a RAID configuration, it becomes difficult to read the correct contents.
[0037] Next, the operation of the storage device 10 of the embodiment will be described.
[0038] The RAID firmware 222 sets the fixed value a in an internal area (not shown) of the RAID controller 20 (S100). The setting area for the fixed value a can be realized by a non-volatile memory or the like. The fixed value a is preferably set to a value that is sufficiently small compared to the total number of sectors, and is exemplified by a natural number of about two digits. The setting of the fixed value a may be stored in advance in a storage area (not shown), or may be configured to update the fixed value a when the RAID firmware 222 is updated, etc. It is desirable that the fixed value a be a value unique to each RAID controller 20 or each RAID firmware 222.
[0039] The RAID firmware 222 configures the logical disk 224 as a single RAID drive (S110). The RAID firmware 222 configures the single logical disk 224 using a plurality of physical disks 30a to 30n connected to the storage device interface 240.
[0040] Once the logical disk 224 is configured, the OS 120 becomes able to recognize the logical disk 224 (S120).
[0041] When the application 140 or OS 120 requests a disk I / O from the logical disk 224 by specifying an LBA (first logical block address) (Yes in S130), the device driver 122 issues a disk I / O request for the specified LBA to the host interface 110. The host interface 210 passes the disk I / O request received via the host interface 110 to the I / O processor 220, and the RAID firmware 222 receives the disk I / O request and the LBA. The RAID firmware 222 adds a fixed value a to the LBA received by the I / O processor 220, and sets the LBA (second logical block address) for the physical disks 30a to 30n (S140).
[0042] The RAID firmware 222 executes disk I / O to the cache 231 and the physical disks 30 using the LBAs of the physical disks 30a to 30n to which the fixed value a has been added (S150).
[0043] As described above, in the storage device of this embodiment, the LBA (first logical block address) of a disk I / O request issued from the OS 120 of the host computer 40 to the logical disk 224 is set to a different value from the LBA (second logical block address) of a disk I / O request from the RAID firmware 222 to the physical disks 30a-30n. In other words, even if one of the physical disks constituting the logical disk is removed and connected to a different host computer or RAID controller 20, the data stored in each LBA of the physical disk will differ from the data stored in the LBA intended by the OS or file system of the other host computer, and the OS will not be able to read the data correctly. This makes it possible to prevent information leakage and improve confidentiality even if multiple physical disks constituting the mirroring are lost or stolen and illegally accessed.
[0044] (Second embodiment) Next, a computer system according to the second embodiment will be described with reference to Figures 6 and 7. Figure 6 is a block diagram showing the functional configuration of the computer system according to the second embodiment. Figure 7 is a flowchart explaining the operation of a storage device according to the second embodiment. In the computer system according to the second embodiment, a random number generator is added to the I / O processor of the RAID controller, and the operation of the RAID firmware is modified. In the following description, components common to the first embodiment are designated by common reference numerals, and duplicate explanations will be omitted.
[0045] 6, the RAID controller 20a in the computer system 1a of this embodiment includes an I / O processor 220a that includes a random number generator 226. The random number generator 226 is a functional element that can generate a fixed value b that is a natural random number within a range that does not exceed the maximum value that the fixed value a can take in the first embodiment.
[0046] Next, the operation of the storage device 10a of this embodiment will be described.
[0047] The RAID firmware 222a configures the logical disk 224 as a single RAID drive (S110). The RAID firmware 222a configures the single logical disk 224 using a plurality of physical disks 30a to 30n connected to the storage device interface 240.
[0048] The random number generating unit 226 generates a fixed value b based on a random number value consisting of a natural number (S115).
[0049] The RAID firmware 222a sets the fixed value b in an internal area (not shown) (S116). The setting area for the fixed value b can be realized by a non-volatile memory or the like. The fixed value b is preferably set to a value that is sufficiently small compared to the total number of sectors, and is exemplified by a natural number of about two digits.
[0050] Once the logical disk 224 is configured, the OS 120 becomes able to recognize the logical disk 224 (S120).
[0051] When the application 140 or OS 120 requests a disk I / O from the logical disk 224 by specifying an LBA (Yes in S130), the device driver 122 issues a disk I / O request for the specified LBA to the host interface 110. The host interface 210 passes the disk I / O request received via the host interface 110 to the I / O processor 220a, and the RAID firmware 222a receives the disk I / O request and the LBA. The RAID firmware 222a adds a fixed value b to the LBA received by the I / O processor 220a, and sets the LBA for the physical disks 30a to 30n (S145).
[0052] The RAID firmware 222a executes disk I / O to the cache 231 and the physical disks 30 using the LBAs of the physical disks 30a to 30n to which the fixed value b has been added (S150).
[0053] As described above, in the storage device of this embodiment, the LBA of a disk I / O request issued from the OS 120 of the host computer 40 to the logical disk 224 is different from the LBA of a disk I / O request issued from the RAID firmware 222a to the physical disks 30a-30n. In other words, even if one of the physical disks constituting the logical disk is removed and connected to a different host computer or RAID controller 20, the data stored in each LBA of the physical disk will be different from the data stored in the LBA intended by the OS or file system of that other host computer, and the OS will not be able to read the data correctly. This makes it possible to prevent information leakage and improve confidentiality even if multiple physical disks constituting the mirroring are lost or stolen and illegally accessed.
[0054] Furthermore, in the storage device of this embodiment, a fixed value consisting of a random number value is added to the LBA after the logical disk is constructed. In other words, in the storage device of this embodiment, the fixed value added to the LBA changes every time a logical disk is constructed, thereby further improving confidentiality.
[0055] In the first and second embodiments described above, the fixed values a and b are set in an internal area (not shown), but this is not limiting. A partial area of the physical disks 30a to 30n may be reserved in advance as a storage area for the fixed values a and b, and the fixed values may be stored in this storage area.
[0056] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0057] 1, 1a... computer system, 10, 10a... storage device, 15... expansion bus interface, 20, 20a... RAID controller, 30, 30a to 30n... physical disk, 40... host computer 110...host interface, 120...operating system, 122...device driver, 140...application 210... host interface, 220, 220a... I / O processor, 222, 222a... RAID firmware, 224... logical disk, 226... random number generator, 230... main memory device, 231... cache, 240... memory device interface
Claims
1. A controller that configures a single logical disk using a plurality of physical disks, and that is capable of executing disk input / output requests to the plurality of physical disks in response to disk input / output requests to the logical disk received from a host computer, the controller comprising: a request receiving unit that receives a first logical block address indicating an input / output destination of the disk input / output request in the logical disk; an LBA generating unit that generates a second logical block address indicating an input / output destination of the disk input / output request in the plurality of physical disks based on the first logical block address; a request execution unit that executes the disk input / output request for the second logical block address of each of the plurality of physical disks; A controller with.
2. 2. The controller according to claim 1, wherein the LBA generation unit generates the second logical block address by adding a fixed value specific to the controller, which is a natural number, to the first logical block address.
3. 3. The controller according to claim 2, further comprising a random number generator that generates the fixed value based on a random number.
4. 4. The controller according to claim 2, wherein the LBA generating unit stores the fixed value in each of the plurality of physical disks.
5. further comprising a logical disk configuration unit that configures the logical disk; the request receiving unit receives the disk input / output request for the logical disk and the first logical block address from the host computer; the LBA generation unit generates the second logical block address by adding the fixed value to the first logical block address; the request execution unit executes the disk input / output request for the second logical block address of each of the plurality of physical disks.
4. The controller according to claim 2 or 3, wherein:
6. 2. A storage device comprising the plurality of physical disks and the controller according to claim 1.
Citation Information
Patent Citations
Non-volatile memory and method with control data management
JP2011253557A
Storage system
JP2021082156A