WO2020095583A1 - ストレージ装置 - Google Patents

ストレージ装置 Download PDF

Info

Publication number
WO2020095583A1
WO2020095583A1 PCT/JP2019/038973 JP2019038973W WO2020095583A1 WO 2020095583 A1 WO2020095583 A1 WO 2020095583A1 JP 2019038973 W JP2019038973 W JP 2019038973W WO 2020095583 A1 WO2020095583 A1 WO 2020095583A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
access pattern
storage
host device
logical
Prior art date
Application number
PCT/JP2019/038973
Other languages
English (en)
French (fr)
Inventor
井上 信治
前田 卓治
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2020556688A priority Critical patent/JPWO2020095583A1/ja
Publication of WO2020095583A1 publication Critical patent/WO2020095583A1/ja
Priority to US17/235,819 priority patent/US20210240396A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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
    • 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/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Definitions

  • the present disclosure relates to a storage device that transfers data between a host device and a memory device.
  • PCI Express registered trademark: hereinafter referred to as PCIe
  • PCIe PCI Express
  • the high-speed serial interface is being considered for use in, for example, an in-vehicle system, and integration of an electronic control unit (hereinafter referred to as an ECU (Electric controller unit)) incorporated in a vehicle is also being considered.
  • ECU Electronic controller unit
  • the present disclosure provides a storage device in which a plurality of ECUs constitutes one virtual storage optimized for each ECU.
  • a storage device is a storage device connected to a host device, and includes a nonvolatile memory that stores data, a logical area management unit that manages the nonvolatile memory by dividing it into a plurality of logical areas, and a logical area.
  • a logical information storage unit that stores information about a plurality of logical areas managed by the management unit, an access pattern management unit that manages access patterns corresponding to a plurality of divided logical areas designated by a host device, and an access pattern management An access pattern storage unit that stores information about access patterns managed by the unit, and an access pattern stored in the access pattern storage unit when the host device accesses any one of a plurality of logical areas From the information about the access pattern that selects the access pattern corresponding to the accessed area.
  • Comprising Seth pattern processing management unit based on the access pattern identified by the access pattern processing management unit performs processing with respect to the non-volatile memory, and the access process management and execution unit for transferring the data to the host device.
  • the storage device can provide a plurality of ECUs as one storage optimized for each ECU. Further, when a plurality of ECUs are integrated, by treating each application as an individual host device, it is possible to provide one storage with an optimal storage function for an application having different required areas and performances.
  • FIG. 3 is a diagram showing an example of logically divided nonvolatile memory and an example of logical area management information in the storage device according to the first embodiment.
  • Flowchart of setting access information in the storage device according to the first embodiment The figure which shows the example of access pattern information in the storage device which concerns on Embodiment 1.
  • FIG. 3 is a diagram showing an example of logically divided nonvolatile memory and an example of logical area management information in the storage device according to the first embodiment.
  • FIG. 3 is a diagram showing an example of information managed by a host in the storage device according to the first embodiment Flowchart of basic processing in the storage device according to the first embodiment Flowchart of pattern processing execution in the storage device according to the first embodiment Configuration diagram of a storage device according to a second embodiment Area information setting flow chart in the storage device according to the second embodiment Authentication process flow chart in the storage device according to the second embodiment Flowchart of setting access information in the storage device according to the second embodiment The figure which shows the example of the access pattern information in the storage apparatus which concerns on Embodiment 2.
  • FIG. 10 is a diagram showing an example of host information stored in a host information storage unit in the storage device according to the second embodiment.
  • FIG. 10 is a diagram showing an example of host unique information stored in a host unique information storage unit of the host device 22 in the storage device according to the second embodiment.
  • FIG. 10 is a diagram showing an example of host unique information stored in a host unique information storage unit of the host device 44 in the storage device according to the second embodiment.
  • Basic processing flow chart in the storage device according to the second embodiment Flowchart of pattern processing execution in the storage device according to the second embodiment
  • the host and the storage are connected by the host interface that the host has and the storage interface that the storage holds, and the access performance and functions to the storage are that the host reads the storage information. Then, the control is performed in accordance with the storage, or the control is performed regardless of the characteristics of the storage, and the storage stores or reads data in the storage regardless of the request from the host. Further, since the storage performs control suitable for the non-volatile memory used, as a result, the number of processing patterns in the entire storage is one, and even if the area is divided, the processing pattern of each area is the same. It becomes a thing. Also, by configuring each area with a different non-volatile memory, it is possible to configure a storage having a plurality of processing pattern characteristics. However, if attention is paid to each fixed area, there is only one processing pattern.
  • the host device selects a storage that has a configuration and performance that meets the requirements.
  • the function can be realized by separately preparing and using it, or by using the configuration and performance of the connected storage as it is.
  • the present disclosure solves the above-described problem, and is a storage device connected to a host device, in which a non-volatile memory for storing data and the non-volatile memory is managed by being divided into a plurality of logical areas.
  • a logical area management unit a logical information storage unit that stores information about logical areas managed by the logical area management unit, and an access pattern management that manages access patterns corresponding to a plurality of divided logical areas designated by the host device.
  • Unit an access pattern storage unit that stores access pattern information managed by the access pattern management unit, and the access pattern storage unit when the host device accesses any one of the plurality of logical areas.
  • Access to select the access pattern corresponding to the accessed area from the stored access pattern information Comprising a turn processing management unit, based on the access pattern identified by the access pattern processing management unit performs processing with respect to the non-volatile memory, and the access process management and execution unit for transferring the data to the host device.
  • FIG. 1 is a configuration diagram of a virtual storage system according to the first embodiment.
  • the virtual storage system comprises a host device 2 and a storage device 1.
  • the storage device 1 is a virtual storage connected to a host device 2 having a host interface unit 3 and a storage interface unit 4.
  • the storage device 1 manages a logical-physical conversion table for converting a physical address of the non-volatile memory 19 and a logical address accessed by the host device 2, and a logical-physical conversion table management unit 9 and a logical-physical conversion table management unit 9.
  • the logical-physical conversion table storage unit 10 for storing the logical-physical conversion table managed by and the non-volatile memory 19 storing data according to the request of the host device 2 is divided into some logical areas and managed logical areas.
  • An access pattern process for automatically selecting an optimum process based on the access pattern information stored in the access pattern storage unit 8 when there is an access from the cache-controlled cache processing unit 12 and the host device 2.
  • Management unit 6 Based instructions from Seth pattern processing management unit 6 comprises, an access process management and execution unit 5 for transferring the data to the host device 2 via the storage interface unit 4 performs optimal processing. As a result, when the divided area of the non-volatile memory 19 is accessed from the host device 2, optimum processing is performed and the data read from the non-volatile memory 19 is transferred to the host device 2.
  • the storage device 1 is, for example, an information recording medium such as an SD card
  • the host device 2 is hardware (an ECU or a central processing unit (ECU) for instructing writing and reading to the information recording medium such as an SD card.
  • CPU Central Processing Unit
  • the host device 2 may be an operation system (hereinafter referred to as an OS (Operation System)) or an application that operates on the hardware.
  • the host device 2 may be a process or thread that operates on the hardware.
  • FIG. 2 is a flowchart showing the operation of the phase of setting the area information in the storage device 1 according to the first embodiment.
  • FIG. 3 is a diagram showing an example of setting information created in the setting flow of the area information shown in FIG.
  • the host device 2 sends a command to divide the area of the non-volatile memory 19 to the storage device 1 connected by the host interface unit 3 and the storage interface unit 4.
  • the command is interpreted by the access processing management / execution unit 5, and is divided and managed by the logical area management unit 17 so that there is no duplication.
  • Information on the logical area generated by the logical area management unit 17 is stored in the area information storage unit 18.
  • the logical area management unit 17 checks whether or not there is a free area of the specified size (step S101), and the free area is available. When there is no area, the error value is set to the return value (step S104) and the error value is returned to the host device 2 (step S105). On the other hand, if there is a free area, the area is secured and the area information of the area ID, the start address, and the last address is stored in the area information storage unit 18 (step S102).
  • the area ID for example, "Area1" (see FIG. 3) is set as the return value (step S103), the return value is returned to the transmission source (step S105), and the process ends.
  • An example of the logical area management information 300 shown in FIG. 3 (an example of information related to the logical area) is stored in the area information storage unit 18.
  • the non-volatile memory is divided as in the logically divided non-volatile memory example 301 shown in FIG.
  • the host device 2 sends the storage device 1 information about the usage of the above-mentioned divided areas.
  • FIG. 4 is a flow of a process performed by the storage device 1 that receives information about the usage of the divided area from the host device 2.
  • step S201 it is confirmed whether or not the designated area has already been secured (step S201), and if it has not been secured, the failure flag is returned to the transmission source (step S208) and the processing ends.
  • step S202 if the area has been secured, a random read-only processing flag is set in the specified area as access pattern information depending on the specified application (step S202), for example, if the application is for Boot. Yes (step S203).
  • step S203 There are other uses such as AV data storage and AV data reproduction only, and the access pattern processing flag is set in the designated area (according to each use) (steps S204 to S206), and the success is achieved.
  • the flag is returned to the transmission source (step S207), and the process ends.
  • FIG. 5 shows an example 302 of access pattern information which is information managed by the access pattern management unit 7 and stored in the access pattern storage unit 8.
  • the host device 2 stores and manages the management information (example of host management information 303) as shown in FIG. 6 and accesses the storage device 1.
  • FIG. 7 is a flow showing the operation of the storage system 1 and the host system 2 for which the setting of the logical area management information and the access pattern information has been completed.
  • the storage device 1 When the virtual storage system is activated, the storage device 1 is initialized (step S301). In the initialization process, the logical-physical conversion table management unit 9 creates a logical-physical conversion table indicating the relationship between the physical address of the nonvolatile memory 19 and the logical address accessed by the host device 2, and the logical-physical conversion table storage unit 10 stores the logical-physical conversion table storage unit 10. Is stored. The method of creating the logical-physical conversion table is not particularly mentioned.
  • the host device 2 is read from the area "Area1" of the storage device 1 at high speed by the process performed by the random read-only processing unit 14 such as the OS and other software required for activation, and is activated (step S302). When the system is activated, the host system 2 accesses the storage system 1 as necessary (step S304), and repeats the subsequent processing until the system ends.
  • FIG. 8 is a flow of a process that is repeated until the host device 2 is activated and the program is activated and terminated.
  • the storage device 1 confirms whether or not the designated area is already secured, and if it is not secured (No in step S401), ends the process.
  • the storage apparatus 1 selects the optimum pattern processing according to the setting of the area to be accessed in response to a request from the host apparatus 2 ( In step S402), appropriate processing is performed according to the access pattern (steps S403 to S406).
  • the access pattern processing management unit 6 accesses the access pattern storage unit 8.
  • An access pattern corresponding to the accessed area is selected from the pattern information.
  • the access processing management / execution unit 5 performs processing on the nonvolatile memory 19 based on the access pattern specified by the access pattern processing management unit 6, and transfers the data to the host device 2 via the storage interface unit 4. To do.
  • the random access priority processing unit 13 can improve the data read / write efficiency by accessing the cache processing unit controlled by the cache control unit 11 as necessary.
  • the cache control method is not particularly described, it is not limited to a special control method.
  • the random read-only processing unit 14 for example, in the Boot area, performs processing suitable for an access pattern that is normally used at once or partially while reading a stored program.
  • the sequential access priority processing unit 15 performs processing suitable for writing and reading continuous, large-capacity data such as AV data.
  • the sequential access priority processing unit 15 can process a large amount of data at high speed by increasing the access unit.
  • the sequential read-only processing unit 16 needs to read the AV data or the like already stored in the storage device 1 at a large capacity and at a stable speed. Perform processing suitable for playback.
  • the storage device operates in various ways by automatically selecting pattern processing according to an area or application in response to a request from the host device. It is possible to deal with the host device for the purpose with one storage device.
  • FIG. 9 is a configuration diagram of the virtual storage system according to the second embodiment.
  • the virtual storage system includes a host device 22, a host device 44, and a storage device 21.
  • the storage device 21 is connected to the host device 22 having the host interface unit 23 and the host device 44 having the host interface unit 47 via the storage interface unit 24.
  • the storage device 21 manages a logical-physical conversion table management unit 29 that manages a logical-physical conversion table according to a physical address of the nonvolatile memory 39 and an access pattern specified by the host device 22 and the host device 44, and a logical-physical conversion.
  • a logical-physical conversion table storage unit 30 that stores a logical-physical conversion table managed by the table management unit 29, and a nonvolatile memory 39 that stores data according to a request from the host device 22 or the host device 44 are provided in some logical areas.
  • the logical area management unit 37 that divides and manages the logical area
  • the area information storage unit 38 that stores information about the logical area that the logical area management unit 37 manages
  • Random access priority processing unit 33 that processes random access with priority Random read-only processing unit 34 that performs dedicated read-only processing
  • sequential access priority processing unit 35 that prioritizes sequential access for accessing data such as image data and moving image data, and read-only processing that is sequential.
  • the access pattern processing management unit 26 automatically selects the optimum processing based on the access pattern information stored in the access pattern storage unit 28, and based on the instruction from the access pattern processing management unit 26.
  • An access processing management / execution unit 25 that performs optimum processing and transfers the data stored in the non-volatile memory 39 to the host device 22 or the host device 44 via the storage interface unit 24.
  • the storage device 21 performs optimum processing when accessing the divided area of the non-volatile memory 39 from the host device 22 or the host device 44, and reads the data read from the non-volatile memory 39 into the host device 22 or the host device. 44.
  • the storage device 21 includes an authentication processing unit 40 for authenticating with the host device that accesses the non-volatile memory 39, and a host information storage unit 41 for storing unique information required for the authentication.
  • the authentication processing unit 40 is an example of a storage-side authentication unit.
  • the storage device 21 according to the second embodiment can restrict the accessible area and the set access pattern by performing authentication with the host device 22 or the host device 44.
  • the host devices 22 and 44 use the host unique information, which is the unique information of the host device stored in the host unique information storage units 43 and 46, respectively, and the authentication processing unit 42 for performing authentication with the storage device 21. 45 is provided.
  • the authentication processing units 42 and 45 are an example of a host-side authentication unit.
  • the basic function in the present disclosure is to logically divide one storage and select and execute an optimum access method to a non-volatile memory that stores data according to the use of each divided area. That is.
  • the authentication processing unit 42 of the host device 22 uses the host unique information stored in the host unique information storage unit 43 to store the storage device 21.
  • the information used in the authentication process is stored in the host information storage unit 41 only when the authentication is successfully performed with the authentication processing unit 40 and the host information storage unit 41 operates thereafter. is there. The same applies to the authentication processing with the host device 44.
  • FIG. 10 shows a flow of setting area information in the storage device 21 according to the second embodiment.
  • the difference from the storage device 1 according to the first embodiment is that the authentication process is performed between the host device and the storage device (step S502), and the process based on the authentication result is performed.
  • step S507 If the authentication process fails, an error value is set as a return value (step S507), the error value is returned to the host device (step S506), and the process ends.
  • the area ID, the start address, and the end address information are stored in the area information storage unit 38 (step S504), and the area ID, for example, "Area1" is used as a return value (step S505), and the host It is returned to the apparatus (step S506), and the process ends.
  • FIG. 11 shows the detailed flow of the authentication process.
  • the authentication process first, it is confirmed whether or not it has been initialized (step S601), and if it has not been initialized, an authentication initialization process is performed, and a host ID that is host unique information and a public key infrastructure ( The certificate information used for PKI) authentication and the host information of the area ID information to which the authentication is applied are stored in the host information storage unit 41 (step S602). If the authentication initialization process fails (No in step S603), the failure flag is returned to the host device (step S604) and the process ends.
  • the authentication initial setting is successful (Yes in step S603), an authentication process with the information set in the host information storage unit is performed (step S605).
  • step S606 If the authentication process fails (No in step S606), the failure flag is returned to the host device (step S604) and the process ends. If the authentication process is successful (Yes in step S606), the success flag is returned to the host device (step S607) and the process ends.
  • FIG. 12 shows a flow of setting access information from the host device for which the authentication processing has succeeded. If the authentication with the host device has succeeded (Yes in step S703), depending on the use requested by the host device (step S704), for example, if the use is Boot, the area specified in the host device is randomly selected. The read-only processing flag is set (step S705), and the success flag is returned to the host device (step S709). If the authentication with the host device has failed (No in step S703), the failure flag is returned to the host device (step S710).
  • the operation is the same as the operation according to the first embodiment (see FIG. 4) except for the condition (step S703) indicating whether or not the authentication process is successful, and therefore the description thereof is omitted.
  • FIG. 13 shows a case where the host device 22 and the host device 44 have succeeded in the authentication with the storage device 21 and the area information and the access pattern are respectively stored in the virtual storage system according to the second embodiment.
  • An example 304 of access pattern information is shown.
  • the access pattern information means, for example, that the area ID “Area1” has an address of 0x0000 to 0x0FFF, the host device 22 has the right to access “Area1”, and the access pattern is “Pattern1”.
  • the access pattern “Pattern1” is random read-only, which means that the access unit is 4 Kbytes.
  • the area ID “Area3” indicates that both the host device 22 and the host device 44 can access.
  • the access pattern of the area ID "Area4" is "Pattern5", which indicates that the access unit is 4 Kbytes to 32 Kbytes. However, there are four types that can be selected: 4 Kbyte, 8 Kbyte, 16 Kbyte, and 32 Kbyte.
  • FIG. 14 shows an example of host information stored in the host information storage unit 41 in the storage device 21 according to the second embodiment.
  • the host device 22 can access “Area1”, “Area3”, and “Area4”, and the host device 44 can access “Area2” and “Area3”.
  • “Area1” and “Area2” indicate that authentication is required, both require authentication using a secret key, and even if the authentication is successful, only reading is possible. On the other hand, since “Area3” does not require authentication, the host device 22 and the host device 44 can access it. “Area4” means that authentication by public key cryptography is required and that the host device 22 can only read.
  • FIG. 15 and 16 show examples 306 and 307 of host unique information stored in the host unique information storage units 43 and 46 of the host devices 22 and 44, respectively, when the host information is shown in FIG. There is.
  • a host unique ID uniquely assigned to each host device certificate information for PKI authentication, connected storage ID, and accessible area ID are described. Has been done.
  • the storage ID that identifies the storage device is described as the storage device 21 in the second embodiment for convenience. It goes without saying that the length of the host unique ID may be any ID as long as it is an ID unique to each host device. Further, it goes without saying that a generally used digital certificate may be used for the PKI.
  • FIG. 17 shows the basic operation of the virtual storage system according to the second embodiment.
  • the difference from the operation of the virtual storage system according to the first embodiment is that the authentication process (step S802) after the initialization (step S801) and the success / failure confirmation process (step S803) are included.
  • Authentication processing is performed when the host device and the storage device are connected.
  • the flow of the authentication process performed in step S802 is the same as the flow of the authentication process shown in FIG.
  • FIG. 18 shows a pattern processing execution flow in the virtual storage system according to the second embodiment.
  • the difference from the pattern process execution flow in the virtual storage system according to Embodiment 1 is that the authentication process (step S902) is inserted before the process for each application (step S904).
  • the virtual storage system is the same as the virtual storage system according to the first embodiment, except that the normal process is performed only when the authentication is successful.
  • the logical-physical conversion table management unit 29 cooperates with the access pattern management unit 27 to perform different processing for each access pattern.
  • the operation of the storage device 1 is different. Since the storage device 21 according to the second embodiment basically authenticates the host device and the storage device, it is necessary to maintain security between the authenticated host device and the storage device. Therefore, for example, the logical-physical conversion table is created so that the cells of the non-volatile memory 39 are not shared in the area where access is permitted only to the authenticated host device. This prevents cells that are not erased from being used in other areas.
  • the cache control unit 31 also cooperates with the access pattern management unit 27 to access the information stored in the access pattern storage unit 28 so that each access pattern
  • the cache control method can be changed.
  • the sequential read-only processing unit 36 the data read from the non-volatile memory 39 is directly sent to the host device without using the cache, and unnecessary copying processing is eliminated, so that high speed is achieved. It becomes possible to read.
  • the random access priority processing unit 33 a high-speed cache algorithm is used to increase the hit rate and improve the access performance.
  • the storage device includes the authentication processing unit for authenticating the host device that accesses the non-volatile memory, and the host information storage unit required for the authentication.
  • the authentication processing unit for authenticating the host device that accesses the non-volatile memory
  • the host information storage unit required for the authentication By performing the authentication between the storage device and the host device having the authentication processing unit for performing the authentication by using the unique information of the device, it is possible to limit the accessible area and the set access pattern.
  • the present disclosure can be applied to a storage connected to one or more ECUs and CPUs. Specifically, the present disclosure is applicable to in-vehicle devices, game devices, and the like.

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 Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

ストレージ装置は、ホスト装置と接続される。ストレージ装置は、データを格納する不揮発性メモリと、不揮発性メモリを複数の論理領域に分割して管理する論理領域管理部と、論理領域管理部が管理する複数の論理領域に関する情報を格納する論理情報格納部と、ホスト装置から指定され、分割された複数の論理領域に対応するアクセスパターンを管理するアクセスパターン管理部と、アクセスパターンに関する情報を格納するアクセスパターン格納部と、ホスト装置から、複数の論理領域のうち、いずれかの領域にアクセスがあった場合に、アクセスパターンに関する情報から、アクセスされた領域に対応するアクセスパターンを選択するアクセスパターン処理管理部と、アクセスパターン処理管理部で特定されたアクセスパターンに基づいて不揮発性メモリに対する処理を行い、データをホスト装置に転送するアクセス処理管理・実行部と、を備える。

Description

ストレージ装置
 本開示は、ホストデバイスとメモリデバイス間でデータ転送を行うストレージ装置に関する。
 高速シリアルインターフェースとしてPCI Express(登録商標:以下、PCIeと称する)が、パーソナルコンピュータ等の様々な電子機器に使用されている。上記高速シリアルインターフェースは、例えば、車載システムで利用されることが検討されており、車に組み込まれている電子制御ユニット(以下ECU(Electric controller unit)と称する)の統合も検討されている。
 例えば、車載分野において、複数のECUが統合されると、個々のECUに接続されたストレージの統合も必要となってくる。車載分野におけるストレージとは、所謂PCサーバーではなく、SSD(Solid State Drive)やSDカードを用いたものが主流である。例えば、SDカードとSDカード対応ホストに関する技術は、米国特許出願公開第2015/0331479号明細書に開示されている。
米国特許出願公開第2015/0331479号明細書
 本開示は、複数のECUが個々のECUにとって最適化された一つの仮想ストレージを構成するストレージ装置を提供する。
 本開示におけるストレージ装置は、ホスト装置と接続されるストレージ装置であって、データを格納する不揮発性メモリと、不揮発性メモリを複数の論理領域に分割して管理する論理領域管理部と、論理領域管理部が管理する複数の論理領域に関する情報を格納する論理情報格納部と、ホスト装置から指定され、分割された複数の論理領域に対応するアクセスパターンを管理するアクセスパターン管理部と、アクセスパターン管理部が管理するアクセスパターンに関する情報を格納するアクセスパターン格納部と、ホスト装置から、複数の論理領域のうち、いずれかの領域にアクセスがあった場合に、アクセスパターン格納部に格納されたアクセスパターンに関する情報から、アクセスされた領域に対応するアクセスパターンを選択するアクセスパターン処理管理部と、アクセスパターン処理管理部で特定されたアクセスパターンに基づいて不揮発性メモリに対する処理を行い、データをホスト装置に転送するアクセス処理管理・実行部と、を備える。
 本開示におけるストレージ装置は、複数のECUが個々のECUにとって最適化された一つのストレージとして提供することができる。また、複数のECUが統合された場合、個々のアプリケーションを個々のホスト装置とみなすことにより、要求する領域、性能が異なるアプリケーションに最適なストレージ機能を1つのストレージで賄うことができる。
実施の形態1に係るストレージ装置の構成図 実施の形態1に係るストレージ装置における領域情報の設定フロー図 実施の形態1に係るストレージ装置において、論理的に分割された不揮発性メモリの例と、論理領域管理情報の例を示す図 実施の形態1に係るストレージ装置における、アクセス情報の設定フロー図 実施の形態1に係るストレージ装置における、アクセスパターン情報の例を示す図 実施の形態1に係るストレージ装置における、ホストが管理する情報の例を示す図 実施の形態1に係るストレージ装置における、基本処理フロー図 実施の形態1に係るストレージ装置における、パターン処理実行フロー図 実施の形態2に係るストレージ装置の構成図 実施の形態2に係るストレージ装置における、領域情報の設定フロー図 実施の形態2に係るストレージ装置における、認証処理フロー図 実施の形態2に係るストレージ装置における、アクセス情報の設定フロー図 実施の形態2に係るストレージ装置における、アクセスパターン情報の例を示す図 実施の形態2に係るストレージ装置における、ホスト情報格納部に格納されるホスト情報の例を示す図 実施の形態2に係るストレージ装置における、ホスト装置22のホスト固有情報格納部に格納されるホスト固有情報の例を示す図 実施の形態2に係るストレージ装置における、ホスト装置44のホスト固有情報格納部に格納されるホスト固有情報の例を示す図 実施の形態2に係るストレージ装置における、基本処理フロー図 実施の形態2に係るストレージ装置における、パターン処理実行フロー図
 以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
 なお、発明者らは、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
 1.実施の形態に至る経緯
 ストレージを使用するシステムでは、ホストが備えるホストインタフェースと、ストレージが保持するストレージインタフェースによって、ホストとストレージは接続され、ストレージに対するアクセス性能や機能は、ホストがストレージの情報を読み込んで、ストレージに合った制御を行うか、ストレージの特徴とは関係なく制御を行い、ストレージはホストの要求とは無関係に、ストレージへのデータ格納や、ストレージからのデータ読み込みが行われる。また、ストレージは、使用されている不揮発性メモリに適した制御を行うため、結果として、ストレージ全体での処理パターンは1つとなり、仮に領域を分割しても、個々の領域の処理パターンは同じものになる。また、個々の領域を異なる不揮発性メモリで構成することで、複数の処理パターン特徴を持つストレージを構成することもできるが、個々の固定された領域に着目すると、その処理パターンは1つとなる。
 このように、ストレージを構成する不揮発性メモリに適した処理のみを行うストレージでは、使用する領域の位置やサイズが予め決まっているため、ホスト装置は、要求を満たす構成及び性能を有するストレージを、個別に用意し使用するか、接続されたストレージの構成や性能をそのまま使用することによって、機能を実現することができる。
 ところで、例えば、車載分野においては、複数のECUの統合が必要とされており、同時に複数のECUに接続されていたストレージも統合されることが要請されている。
 そこで、本開示は上述の問題を解決するものであり、ホスト装置と接続されるストレージ装置であって、データを格納する不揮発性メモリと、不揮発性メモリを複数の論理領域に分割して管理する論理領域管理部と、論理領域管理部が管理する論理領域に関する情報を格納する論理情報格納部と、ホスト装置から指定され、分割された複数の論理領域に対応するアクセスパターンを管理するアクセスパターン管理部と、アクセスパターン管理部が管理するアクセスパターン情報を格納するアクセスパターン格納部と、ホスト装置から、複数の論理領域のうち、いずれかの領域にアクセスがあった場合に、アクセスパターン格納部に格納されたアクセスパターン情報から、アクセスされた領域に対応するアクセスパターンを選択するアクセスパターン処理管理部と、アクセスパターン処理管理部で特定されたアクセスパターンに基づいて不揮発性メモリに対する処理を行い、データをホスト装置に転送するアクセス処理管理・実行部と、を備える。これにより、物理的には1つのストレージで、複数のストレージの特徴を実現し、複数のECUが必要とするストレージ機能を提供することが可能となる。
 2.[実施の形態1]
 以下、図1~図8を参照して実施の形態1を説明する。
 2.1.仮想ストレージシステムの構成
 図1は、実施の形態1に係る仮想ストレージシステムの構成図である。仮想ストレージシステムはホスト装置2とストレージ装置1とから構成される。
 ストレージ装置1は、ホストインタフェース部3をもつホスト装置2とストレージインタフェース部4を介して接続される仮想ストレージである。ストレージ装置1は、不揮発性メモリ19の物理アドレスとホスト装置2からアクセスされる論理アドレスを変換するための論物変換テーブルを管理する論物変換テーブル管理部9と、論物変換テーブル管理部9が管理する論物変換テーブルを格納する論物変換テーブル格納部10と、ホスト装置2の要求に応じて、データを格納する不揮発性メモリ19をいくつかの論理的領域に分割し管理する論理領域管理部17と、論理領域管理部17が管理する論理領域に関する情報を格納する領域情報格納部18と、ホスト装置2が要求するアクセスパターンに応じて、ランダムなアクセスを優先に処理を行うランダムアクセス優先処理部13と、ランダムではあるが読み込み専用処理を行うランダム読み込み専用処理部14と、画像データや動画データのようなデータにアクセスするためのシーケンシャルアクセスを優先に処理するシーケンシャルアクセス優先処理部15と、シーケンシャルではあるが読み込み専用処理を行うシーケンシャル読み込み専用処理部16と、ホスト装置2から指定される分割された個々の領域に対するアクセスパターンを管理するアクセスパターン管理部7と、アクセスパターン管理部7が管理するアクセスパターン情報を格納するアクセスパターン格納部8と、キャッシュ処理を管理するキャッシュ制御部11と、キャッシュ制御されるキャッシュ処理部12と、ホスト装置2からのアクセスがあった場合に、アクセスパターン格納部8に格納されたアクセスパターン情報に基づき、自動的に最適な処理を選択するアクセスパターン処理管理部6と、アクセスパターン処理管理部6からの指示の基づき、最適な処理を行いストレージインタフェース部4を介してデータをホスト装置2に転送するアクセス処理管理・実行部5と、を備える。これにより、ホスト装置2からの不揮発性メモリ19の分割された領域へのアクセスに際し、最適な処理を実施し、不揮発性メモリ19から読み出したデータをホスト装置2に転送する。
 なお、ストレージ装置1は、例えば、SDカードなどの情報記録媒体であり、ホスト装置2は、SDカードなどの情報記録媒体に対して書き込みや読み出しを指示するハードウェア(ECUや中央演算処理装置(以下CPU(Central Processing Unit)と称する)など)である。なお、また、ホスト装置2は、前記ハードウェア上で動作するオペレーションシステム(以下OS(Operation System)と称する)またはアプリケーションであってもよい。なお、また、ホスト装置2は、前記ハードウェア上で動作するプロセスまたはスレッドであってもよい。
 2.2.仮想ストレージシステムの動作
 実施の形態1に係る仮想ストレージシステムの動作を、領域情報、アクセスパターン処理情報を事前に設定するフェーズと、前記設定された情報を基に動作するフェーズに分けて説明する。
 2.2.1.情報設定フェーズの動作
 図2は、実施の形態1に係るストレージ装置1に、領域情報を設定するフェーズの動作を示したフローチャートである。図3は、図2に示す領域情報の設定フローで作成される設定情報の例を示す図である。
 まず、ホスト装置2は、ホストインタフェース部3とストレージインタフェース部4で接続されたストレージ装置1に、不揮発性メモリ19の領域を分割するコマンドを送る。コマンドはアクセス処理管理・実行部5により解釈され、論理領域管理部17により、重複が無いように分割され、管理される。論理領域管理部17で生成された論理領域に関する情報は領域情報格納部18に格納される。
 具体的には、ホスト装置2は、第1の領域として必要な領域情報を送ると、論理領域管理部17は、指定されたサイズ分の空き領域があるかどうかチェックし(ステップS101)、空き領域が無い場合には、エラー値をリターン値に設定し(ステップS104)、ホスト装置2に返送する(ステップS105)。一方、空き領域がある場合には、領域を確保し、領域ID、開始アドレス、最終アドレスの領域情報を領域情報格納部18に格納する(ステップS102)。領域ID、例えば“Area1”(図3参照)をリターン値に設定し(ステップS103)、リターン値を送信元に返送し(ステップS105)終了する。図3に示した、論理領域管理情報の例300(論理領域に関する情報の一例)が領域情報格納部18に格納される。図3に示した論理的に分割された不揮発性メモリの例301のように不揮発性メモリは分割されていることになる。
 続いて、上述の分割された領域の用途に関する情報をホスト装置2は、ストレージ装置1に送る。
 図4は、ホスト装置2から分割された領域の用途に関する情報を受け取ったストレージ装置1が行う処理のフローである。
 まず、指定された領域が既に確保されているかどうか確認し(ステップS201)、確保できていない場合には失敗フラグを送信元に返送し(ステップS208)終了する。一方、領域が確保できている場合には、指定された用途に応じ(ステップS202)、例えば、用途がBoot用であれば、アクセスパターン情報として、指定された領域にランダム読み込み専用処理フラグを設定する(ステップS203)。用途としては、他にも、通常、AVデータ格納用、AVデータ再生専用があり、それぞれの用途に応じた)アクセスパターン処理のフラグを指定された領域に設定し(ステップS204~S206)、成功フラグを送信元に返送し(ステップS207)、終了する。
 図5は、アクセスパターン管理部7が管理し、アクセスパターン格納部8に格納される情報であるアクセスパターン情報の例302を示している。
 ストレージ装置1の設定が完了すると、ホスト装置2は、図6に示すような管理情報(ホスト管理情報の例303)を格納管理し、ストレージ装置1にアクセスすることになる。
 手段を問うものではないが、論理領域管理情報及びアクセスパターン情報の設定が完了した領域に対し、読み込み専用となるBoot領域や、AVデータ読み込み専用領域には、事前にデータを書き込んでおく必要がある。そのため、初期状態で設定された前記アクセスパターン処理以外の処理を使って、データを書き込む機能を備えていることは言うまでもない。
 2.2.2.仮想ストレージの動作
 図7は、論理領域管理情報及びアクセスパターン情報の設定が完了しているホスト装置2と、ストレージ装置1の動作を示すフローである。
 仮想ストレージシステムが起動されると、ストレージ装置1の初期化処理(ステップS301)を行う。初期化処理では、不揮発性メモリ19の物理アドレスと、ホスト装置2がアクセスする論理アドレスの関係を示す論物変換テーブルが論物変換テーブル管理部9によって作成され、論物変換テーブル格納部10に格納される。論物変換テーブルの作成方法については特に言及しない。ホスト装置2は、ストレージ装置1の領域“Area1”からOSを始めとする起動に必要なソフトウェアをランダム読み込み専用処理部14が行う処理により高速に読み出され、起動される(ステップS302)。システムが起動されるとホスト装置2は、必要に応じてストレージ装置1にアクセスし(ステップS304)、システム終了まで、以降の処理を繰り返す。
 図8は、ホスト装置2が起動され、プログラムが起動され終了するまでの間に繰り返す処理のフローである。
 まず、ストレージ装置1は、指定された領域が既に確保されているかどうか確認し、確保されていない場合には(ステップS401でNo)、処理を終了する。指定された領域が確保されている場合には(ステップS401でYes)、ストレージ装置1は、ホスト装置2からのリクエストにより、アクセスされる領域の設定に応じ、最適なパターン処理を選択しながら(ステップS402)、アクセスパターンに応じた適切な処理を行う(ステップS403~S406)。具体的には、ホスト装置2から、分割された複数の論理領域のうち、いずれかの領域にアクセスがあった場合に、アクセスパターン処理管理部6は、アクセスパターン格納部8に格納されたアクセスパターン情報から、アクセスされた領域に対応するアクセスパターンを選択する。そして、アクセス処理管理・実行部5は、アクセスパターン処理管理部6で特定されたアクセスパターンに基づいて不揮発性メモリ19に対する処理を行い、ストレージインタフェース部4を介して、データをホスト装置2に転送する。
 また、ランダムアクセス優先処理部13は、必要に応じてキャッシュ制御部11が制御するキャッシュ処理部にアクセスすることでデータの読み書き効率をあげることができる。キャッシュ制御方法については特に説明しないが、特別な制御方法に限定するものではない。
 ランダム読み込み専用処理部14は、例えば、Boot領域のように、普段は格納されているプログラムを一度に、あるいは、部分的に読み込みながら使用されるアクセスパターンに適した処理を行う。
 シーケンシャルアクセス優先処理部15は、AVデータ等のように連続した、大容量のデータの書き込みや読み込みに適した処理を行う。例えば、シーケンシャルアクセス優先処理部15は、アクセスする単位を大きめにするなどして大容量データを高速に処理することができる。
 シーケンシャル読み込み専用処理部16は、既にストレージ装置1に格納されたAVデータ等の大容量かつ安定した速度で読み出す必要があるため、例えば、データの先読みを多めにするなどの工夫により、AVデータの再生に適した処理を行う。
 2.3.効果等
 以上のように、本実施の形態において、本開示におけるストレージ装置は、ホスト装置の要求に応じて、領域や用途に応じたパターン処理を自動的に選択しながら動作することで、様々な用途のホスト装置に対して1つのストレージ装置で対応することが可能となる。
 3.[実施の形態2]
 以下、図9~図18を参照して実施の形態2を説明する。
 3.1.仮想ストレージシステムの構成
 図9は、実施の形態2に係る仮想ストレージシステムの構成図である。仮想ストレージシステムは、ホスト装置22、ホスト装置44、およびストレージ装置21から構成される。
 ストレージ装置21は、ホストインタフェース部23をもつホスト装置22およびホストインタフェース部47をもつホスト装置44と、ストレージインタフェース部24を介して接続される。
 ストレージ装置21は、不揮発性メモリ39の物理アドレスとホスト装置22及びホスト装置44が指定する用途に応じたアクセスパターンに従い、論物変換テーブルを管理する論物変換テーブル管理部29と、論物変換テーブル管理部29が管理する論物変換テーブルを格納する論物変換テーブル格納部30と、ホスト装置22またはホスト装置44の要求に応じて、データを格納する不揮発性メモリ39をいくつかの論理領域に分割し管理する論理領域管理部37と、論理領域管理部37が管理する論理領域に関する情報を格納する領域情報格納部38と、ホスト装置22またはホスト装置44が要求するアクセスパターンに応じて、ランダムなアクセスを優先に処理を行うランダムアクセス優先処理部33と、ランダムではあるが読み込み専用処理を行うランダム読み込み専用処理部34と、画像データや動画データのようなデータにアクセスするためのシーケンシャルアクセスを優先に処理するシーケンシャルアクセス優先処理部35と、シーケンシャルではあるが読み込み専用処理を行うシーケンシャル読み込み専用処理部36と、ホスト装置22またはホスト装置44から指定される分割された個々の領域に対するアクセスパターンを管理するアクセスパターン管理部27と、アクセスパターン管理部27が管理するアクセスパターン情報を格納するアクセスパターン格納部28と、アクセスパターン情報に基づき、キャッシュ処理を管理するキャッシュ制御部31と、キャッシュ制御されるキャッシュ処理部32と、ホスト装置22またはホスト装置44からアクセスがあった場合に、アクセスパターン格納部28に格納されたアクセスパターン情報に基づき、自動的に最適な処理を選択するアクセスパターン処理管理部26と、アクセスパターン処理管理部26からの指示に基づき、最適な処理を行いストレージインタフェース部24を介して不揮発性メモリ39に格納されたデータをホスト装置22またはホスト装置44に転送するアクセス処理管理・実行部25とを備える。
 ストレージ装置21は、ホスト装置22またはホスト装置44からの不揮発性メモリ39の分割された領域へのアクセスに際し、最適な処理を実施し、不揮発性メモリ39から読み出したデータをホスト装置22またはホスト装置44に転送する。
 また、実施の形態2に係るストレージ装置21は、不揮発性メモリ39にアクセスするホスト装置と認証するための認証処理部40と、認証に必要な固有情報を格納するホスト情報格納部41を備える。認証処理部40は、ストレージ側認証部の一例である。
 また、実施の形態2に係るストレージ装置21は、ホスト装置22またはホスト装置44との間で認証を行うことにより、アクセスできる領域や設定できるアクセスパターンを制限することができる。ホスト装置22、44は、それぞれ、ホスト固有情報格納部43、46に格納されたホスト装置の固有情報であるホスト固有情報を使用して、ストレージ装置21と認証を行うための認証処理部42、45を備える。認証処理部42、45は、ホスト側認証部の一例である。
 3.2.仮想ストレージシステムの動作
 実施の形態2に係る仮想ストレージシステムの動作を、実施の形態1に係る仮想ストレージシステムと異なる動作を中心に説明する。これは、実施の形態2に係る仮想ストレージシステムは、1つのストレージ装置に対して、2つのホスト装置が接続された構成になっているが、個々のホスト装置とストレージ装置間の動作についての基本的な機能については同様なためである。
 本開示における基本的な機能とは、1つのストレージを論理的に分割し、個々の分割された領域の用途に応じて、データを格納する不揮発性メモリへの最適なアクセス方法を選択、実行することである。
 以下、図面を参照しながら、実施の形態2に係る仮想ストレージシステムの動作のうち、実施の形態1に係る仮想ストレージシステムの動作と異なる部分を中心に記載する。
 3.2.1.認証動作と領域情報設定動作
 実施の形態2に係る仮想ストレージシステムは、例えば、ホスト装置22の認証処理部42は、ホスト固有情報格納部43に格納されたホスト固有情報を用いて、ストレージ装置21の認証処理部40との間で認証を行い、認証に成功した場合にのみ、前記認証処理で使用する情報がホスト情報格納部41に格納され、以降、前記ホスト情報を用いて動作するものである。ホスト装置44との認証処理についても同様である。
 図10は、実施の形態2に係るストレージ装置21における領域情報の設定フローを示している。実施の形態1に係るストレージ装置1との違いは、ホスト装置とストレージ装置との間で認証処理を行い(ステップS502)、認証の結果に基づく処理が行われるところである。
 前記認証処理が失敗した場合には、エラー値をリターン値として設定し(ステップS507)、ホスト装置に返送して(ステップS506)終了する。前記認証処理が成功した場合にのみ、領域ID、開始アドレス、終了アドレス情報を領域情報格納部38に格納し(ステップS504)、領域ID、例えば“Area1”をリターン値として(ステップS505)、ホスト装置に返送し(ステップS506)終了する。
 図11は、前記認証処理の詳細フローを示している。前記認証処理は、まず、初期化されているかどうかを確認し(ステップS601)、初期化されていない場合には、認証初期設定処理を行い、ホスト固有情報であるホストID並びに、公開鍵基盤(PKI)認証で使用する証明書情報、前記認証を適応する領域ID情報のホスト情報をホスト情報格納部41に格納する(ステップS602)。前記認証初期設定処理が失敗した場合には(ステップS603でNo)、失敗フラグをホスト装置に返送(ステップS604)して終了する。前記認証初期設定が成功した場合には(ステップS603でYes)、ホスト情報格納部に設定された情報との認証処理を実施する(ステップS605)。認証処理が失敗した場合には(ステップS606でNo)、失敗フラグをホスト装置に返送(ステップS604)して終了する。認証処理が成功した場合には(ステップS606でYes)、成功フラグをホスト装置に返送(ステップS607)して終了する。
 3.2.2.アクセス情報の設定動作
 図12は、認証処理が成功したホスト装置からのアクセス情報の設定フローを示している。ホスト装置との認証に成功した場合(ステップS703でYes)に、ホスト装置からの要求である用途に応じ(ステップS704)、例えば用途がBootであれば、ホスト装置に指定された領域に、ランダム読み込み専用処理フラグを設定し(ステップS705)、ホスト装置に成功フラグを返送する(ステップS709)。ホスト装置との認証に失敗した場合(ステップS703でNo)、ホスト装置に失敗フラグを返送する(ステップS710)。認証処理に成功したか否かいう条件(ステップS703)以外は、実施の形態1に係る動作(図4参照)と同じであるので説明を省略する。
 図13は、実施の形態2に係る仮想ストレージシステムにおいて、ホスト装置22とホスト装置44が、ストレージ装置21との間で認証が成功し、それぞれ、領域情報及びアクセスパターンが格納された場合の、アクセスパターン情報の例304を示している。
 アクセスパターン情報は、例えば、領域ID“Area1”は、アドレスが0x0000~0x0FFFであり、“Area1”へアクセスする権利はホスト装置22が持ち、アクセスパターンは“Pattern1”であることを意味し、また、アクセスパターン“Pattern1”は、ランダムの読み込み専用で、アクセス単位は4Kbyteであることを意味している。
 また、領域ID “Area3”に対しては、ホスト装置22とホスト装置44が共にアクセス可能であることを示している。
 また、領域ID“Area4”のアクセスパターンは“Pattern5”であり、アクセス単位は、4Kbyte~32Kbyteまで可能であることを示している。但し、選択できるのは、4Kbyte、8Kbyte、16Kbyte、32Kbyteの4種類となる。
 図14は、実施の形態2に係るストレージ装置21における、ホスト情報格納部41に格納されるホスト情報の例を示す。ホスト情報の例305によれば、ホスト装置22は、“Area1”、“Area3”、“Area4”にアクセスでき、ホスト装置44は、“Area2”と“Area3”にアクセスできることになる。
 “Area1”と“Area2”は、認証が必要でかつ、共に秘密鍵を用いた認証が必要で、認証が成功した場合であっても、読み込みのみ可能となることを示している。一方、“Area3”は認証の必要がないため、ホスト装置22及びホスト装置44からのアクセスが可能となる。“Area4”については、公開鍵暗号による認証が必要で、ホスト装置22に対し、読み込みのみ可能であることを意味している。
 図15および図16は、前記ホスト情報が図14で示された場合の、ホスト装置22、44のホスト固有情報格納部43、46にそれぞれ格納されるホスト固有情報の例306、307を示している。ここでは、図15に示されるホスト固有情報としては、まずホスト装置毎にユニークに割り当てられるホスト固有IDと、PKI認証する場合の証明書情報、接続しているストレージID及びアクセスできる領域IDが記載されている。ストレージ装置を特定するストレージIDは、本実施の形態2においては、便宜上、ストレージ装置21と記載した。尚、ホスト固有IDの長さについては各ホスト装置に固有のIDであれば、なんでもよいことは言うまでもない。また、PKI用のデジタル証明書についても、一般的に使用されているもので良いことは言うまでもない。
 3.2.3.実施の形態2に係る仮想ストレージシステムの基本動作
 図17は、実施の形態2に係る仮想ストレージシステムの基本動作を示している。実施の形態1に係る仮想ストレージシステムの動作との違いは、初期化(ステップS801)後の認証処理(ステップS802)及びその成否確認処理(ステップS803)が含まれていることである。ホスト装置とストレージ装置とが接続された時に、認証処理が行われる。なお、ステップS802で行う認証処理のフローは、図11で示した認証処理フローと同じなので割愛する。
 図18は、実施の形態2に係る仮想ストレージシステムにおける、パターン処理実行のフローを示している。実施の形態1に係る仮想ストレージシステムにおけるパターン処理実行フローとの違いは、用途別の処理を行う(ステップS904)の前に、認証処理(ステップS902)が挿入されているところである。認証に成功した場合にのみ、通常通りの処理が行われる点を除いて、実施の形態1に係る仮想ストレージシステムと同様である。
 3.2.4.論物変換テーブル処理
 実施の形態2に係るストレージ装置21においては、論物変換テーブル管理部29がアクセスパターン管理部27と連携し、アクセスパターン毎に異なる処理を行うところも、実施の形態1に係るストレージ装置1の動作とは異なる。実施の形態2に係るストレージ装置21は、基本的に、ホスト装置とストレージ装置とが認証するため、認証されたホスト装置とストレージ装置との間でのセキュリティを保つ必要がある。そのため、例えば、認証されたホスト装置のみにアクセスを許可する領域においては、不揮発性メモリ39のセルを共有しないように、論物変換テーブルを作成する。これにより、イレースされていないセルが他の領域に使用されることを防ぐものである。
 3.2.5.キャッシュ処理
 実施の形態2に係るストレージ装置21においては、キャッシュ制御部31もまた、アクセスパターン管理部27と連携し、アクセスパターン格納部28に格納された情報にアクセスすることで、アクセスパターン毎にキャッシュ制御方法を変えることができる。例えば、シーケンシャル読み込み専用処理部36が処理する領域については、キャッシュを使用せず、直接、不揮発性メモリ39から読み出したデータを、ホスト装置に送ることで、不要な複写処理がなくなるため、高速に読み出すことが可能となる。また、ランダムアクセス優先処理部33が処理する領域については、高速なキャッシュアルゴリズムを用いることにより、ヒット率を上げ、アクセス性能を向上させる。
 3.3.効果等
 以上のように、本実施の形態において、本開示におけるストレージ装置は、不揮発性メモリにアクセスするホスト装置と認証するための認証処理部と、認証に必要なホスト情報格納部を備え、ホスト装置の固有な情報使用して、ストレージ装置と認証を行う認証処理部を備えたホスト装置との間で認証を行うことにより、アクセスできる領域や設定できるアクセスパターンを制限することができる。
 4.他の実施の形態
 以上のように、本出願において開示する技術の例示として、実施の形態1、実施の形態2を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。
 また、実施の形態を説明するために、添付図面および詳細な説明を提供した。したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 また、上述の実施の形態は、本開示における技術を例示するためのものであるから、請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
 本開示は、一つまたは複数のECU、CPUに接続されるストレージに適用可能である。具体的には、車載用機器、ゲーム機器などに、本開示は適用可能である。
1、21 ストレージ装置
2、22、44 ホスト装置
3、23、47 ホストインタフェース部
4、24 ストレージインタフェース部
5、25 アクセス処理管理・実行部
6、26 アクセスパターン処理管理部
7、27 アクセスパターン管理部
8、28 アクセスパターン格納部
9、29 論物変換テーブル管理部
10、30 論物変換テーブル格納部
11、31 キャッシュ制御部
12、32 キャッシュ処理部
13、33 ランダムアクセス優先処理部
14、34 ランダム読み込み専用処理部
15、35 シーケンシャルアクセス優先処理部
16、36 シーケンシャル読み込み専用処理部
17、37 論理領域管理部
18、38 領域情報格納部
19、39 不揮発性メモリ
40 認証処理部
41 ホスト情報格納部
42、45 認証処理部
43、46 ホスト固有情報格納部
300 論理領域管理情報の例
301 論理的に分割された不揮発性メモリの例
302 アクセスパターン情報の例
303 ホスト管理情報の例
304 アクセスパターン情報の例
305 ホスト情報の例
306、307 ホスト固有情報の例

Claims (8)

  1.  ホスト装置と接続されるストレージ装置であって、
     データを格納する不揮発性メモリと、
     前記不揮発性メモリを複数の論理領域に分割して管理する論理領域管理部と、
     前記論理領域管理部が管理する前記複数の論理領域に関する情報を格納する論理情報格納部と、
     前記ホスト装置から指定され、分割された前記複数の論理領域に対応するアクセスパターンを管理するアクセスパターン管理部と、
     前記アクセスパターン管理部が管理する前記アクセスパターンに関する情報を格納するアクセスパターン格納部と、
     前記ホスト装置から、前記複数の論理領域のうち、いずれかの領域にアクセスがあった場合に、前記アクセスパターン格納部に格納された前記アクセスパターンに関する情報から、アクセスされた前記領域に対応するアクセスパターンを選択するアクセスパターン処理管理部と、
     前記アクセスパターン処理管理部で特定された前記アクセスパターンに基づいて前記不揮発性メモリに対する処理を行い、データを前記ホスト装置に転送するアクセス処理管理・実行部と、を備えたストレージ装置。
  2.  前記不揮発性メモリは、前記ホスト装置の要求に応じて、前記複数の論理領域に分割される、
     請求項1記載のストレージ装置。
  3.  前記アクセスパターンのうち少なくとも1つは、ランダム、ランダム読み込み専用、シーケンシャル、およびシーケンシャル読み込み専用のいずれかである、
     請求項1記載のストレージ装置。
  4.  前記アクセスパターンに関する情報を利用して、前記アクセスパターン毎に制御を最適化する論物変換テーブル管理部と、
     前記論物変換テーブル管理部が管理する論物変換テーブルを格納する論物管理テーブル格納部と、
     前記アクセスパターン毎に制御を最適化するキャッシュ制御部と、
     キャッシュ処理を行うキャッシュ処理部と、
     をさらに備える、請求項1に記載のストレージ装置。
  5.  前記ホスト装置に基づく固有情報を用いて前記ホスト装置を認証するストレージ側認証部を備え、
     前記ホスト装置は、前記固有情報を使ってストレージ装置の認証を行うホスト側認証部を備え、
     前記ストレージ側認証部は、前記ホスト側認証部との間で、相互に認証された場合のみ、分割された前記複数の論理領域のうち、いずれか1つの領域へのアクセスを可能とする、
     請求項1に記載のストレージ装置。
  6.  前記ホスト装置は、ECUまたはCPUのハードウェアである、
     請求項1に記載のストレージ装置。
  7.  前記ハードウェア上で動作するOSまたはアプリケーションを前記ホスト装置として認証する、
     請求項6に記載のストレージ装置。
  8.  前記ハードウェア上で動作するプロセスまたはスレッドを前記ホスト装置として認証する、
     請求項6に記載のストレージ装置。
PCT/JP2019/038973 2018-11-09 2019-10-02 ストレージ装置 WO2020095583A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020556688A JPWO2020095583A1 (ja) 2018-11-09 2019-10-02 ストレージ装置
US17/235,819 US20210240396A1 (en) 2018-11-09 2021-04-20 Storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-210987 2018-11-09
JP2018210987 2018-11-09

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/235,819 Continuation US20210240396A1 (en) 2018-11-09 2021-04-20 Storage device

Publications (1)

Publication Number Publication Date
WO2020095583A1 true WO2020095583A1 (ja) 2020-05-14

Family

ID=70610969

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/038973 WO2020095583A1 (ja) 2018-11-09 2019-10-02 ストレージ装置

Country Status (3)

Country Link
US (1) US20210240396A1 (ja)
JP (1) JPWO2020095583A1 (ja)
WO (1) WO2020095583A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345514A (ja) * 2002-05-29 2003-12-05 Hitachi Ltd 計算機システム
JP2004013547A (ja) * 2002-06-07 2004-01-15 Hitachi Ltd データ割当方法、情報処理システム
JP2008123132A (ja) * 2006-11-09 2008-05-29 Hitachi Ltd 記憶制御装置及び記憶制御装置の論理ボリューム形成方法
WO2016067328A1 (ja) * 2014-10-27 2016-05-06 株式会社日立製作所 不揮発メモリデバイスを有するストレージ装置、及び、不揮発メモリデバイス
JP2018169773A (ja) * 2017-03-29 2018-11-01 日本電気株式会社 ストレージ装置、ストレージ装置の制御方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140032866A1 (en) * 2012-07-26 2014-01-30 Yuji Nagai Storage system in which information is prevented
US10101918B2 (en) * 2015-01-21 2018-10-16 Sandisk Technologies Llc Systems and methods for generating hint information associated with a host command

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345514A (ja) * 2002-05-29 2003-12-05 Hitachi Ltd 計算機システム
JP2004013547A (ja) * 2002-06-07 2004-01-15 Hitachi Ltd データ割当方法、情報処理システム
JP2008123132A (ja) * 2006-11-09 2008-05-29 Hitachi Ltd 記憶制御装置及び記憶制御装置の論理ボリューム形成方法
WO2016067328A1 (ja) * 2014-10-27 2016-05-06 株式会社日立製作所 不揮発メモリデバイスを有するストレージ装置、及び、不揮発メモリデバイス
JP2018169773A (ja) * 2017-03-29 2018-11-01 日本電気株式会社 ストレージ装置、ストレージ装置の制御方法及びプログラム

Also Published As

Publication number Publication date
US20210240396A1 (en) 2021-08-05
JPWO2020095583A1 (ja) 2021-09-02

Similar Documents

Publication Publication Date Title
EP3764237B1 (en) System startup method and apparatus, electronic device and storage medium
US20100083247A1 (en) System And Method Of Providing Multiple Virtual Machines With Shared Access To Non-Volatile Solid-State Memory Using RDMA
WO2017216887A1 (ja) 情報処理システム
US10162833B2 (en) Wireless access device and wireless access system
US10241934B2 (en) Shared memory controller, shared memory module, and memory sharing system
JP7381678B2 (ja) メモリシステム
JP4461089B2 (ja) ストレージ制御装置およびストレージ制御方法
WO2020095583A1 (ja) ストレージ装置
US11809361B1 (en) Network data storage devices having external access control
KR20210060867A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20120110253A1 (en) Combined memory and storage device in an apparatus for data processing
JP2011192053A (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
WO2015141219A1 (ja) ストレージシステム、制御装置、記憶装置、データアクセス方法及びプログラム記録媒体
KR102482116B1 (ko) 연산 스토리지 장치의 메모리 할당 및 보호 방법 및 이를 수행하는 연산 스토리지 장치
JP2020177501A (ja) ストレージシステム、そのドライブ筐体、およびパリティ演算方法。
KR102482115B1 (ko) 멀티-레벨 어드레스 변환을 이용한 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치
EP4318249A1 (en) Storage device and operation method thereof
KR102435910B1 (ko) 스토리지 장치 및 그것의 동작 방법
US11914879B2 (en) Storage controller and storage system comprising the same
EP4209953A1 (en) Storage controller, storage system, and method of operating storage device
EP4273703A1 (en) Computing system generating map data, and method of operating the same
US20240020182A1 (en) Storage Products with Connectors to Operate External Network Interfaces
US20240022645A1 (en) Network Storage Services Implemented via Storage Products and External Software
US20230359379A1 (en) Computing system generating map data, and method of operating the same
US20230359389A1 (en) Operation method of host configured to communicate with storage devices and memory devices, and system including storage devices and memory devices

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020556688

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19880984

Country of ref document: EP

Kind code of ref document: A1