Data processing system, storage device, and operating method of storage device

By dynamically determining the internal trust level of data in the storage device and generating corresponding parity information, the problem of insufficient RAID reliability in the prior art is solved, and the optimization of storage space and the improvement of data reliability is achieved.

CN120353376APending Publication Date: 2025-07-22SK HYNIX INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410791845.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-22
Filing Date
2024-06-19
Publication Date
2025-07-22

AI Technical Summary

Technical Problem

In the prior art, it is difficult to dynamically adjust RAID reliability in storage devices according to the importance of data, resulting in unreasonable allocation of storage space and insufficient reliability.

Method used

The storage controller dynamically determines the internal trust level of the data, groups the data based on the trust level and generates corresponding parity information, and optimizes the generation process of data packets and parity information stored in the storage medium.

Benefits of technology

It realizes dynamic adjustment of RAID reliability according to data importance, optimizes storage space utilization, and improves data reliability and overall performance of storage devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120353376A_ABST
    Figure CN120353376A_ABST
Patent Text Reader

Abstract

The present disclosure relates to a data processing system, a storage device, and an operating method of the storage device, the storage device may include: a storage medium configured to store data of an external device; and a storage controller configured to control an operation of the storage medium. The storage controller is configured to: receive a storage request of data and an external trust level of the data from an external device; determining an internal trust level of the data as one of a plurality of internal trust levels based on the external trust level in consideration of a state of the storage medium; grouping the data into unit data of any size corresponding to the determined internal trust level; generating parity information corresponding to the determined internal trust level based on the packet data; and controlling an operation of storing the packet data and the parity information in the storage medium.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - reference to related applications

[0002] This application claims priority to a Korean application filed on January 22, 2024, with application number 10 - 2024 - 0009513, which is incorporated herein by reference in its entirety. Technical field

[0003] Embodiments of the present disclosure relate to a semiconductor integrated device, and more particularly, to a data processing system, a storage device, and an operation method of the storage device. Background art

[0004] A storage device may be configured to write data to a storage medium and read data from the storage medium according to a request from an external device.

[0005] The storage device may use redundant array of independent / inexpensive disks (RAID) technology to ensure the reliability of data stored in the storage medium. By using RAID technology, uncorrectable errors can be recovered by an error correction circuit.

[0006] Since some RAID technologies involve the generation of parity information (RAID parity), a portion of the storage medium needs to be allocated to store the RAID parity. Summary of the invention

[0007] Various embodiments of the present disclosure are directed to providing a data processing system, a storage device, and an operation method of the storage device that can dynamically determine RAID reliability according to the importance of data to be stored.

[0008] A storage device according to an embodiment of the present disclosure may include: a storage medium configured to store data of an external device; and a storage controller configured to control the operation of the storage medium. The storage controller is configured to: receive a storage request for data and an external trust level of the data from an external device; determine an internal trust level of the data as one of a plurality of internal trust levels based on the external trust level in consideration of the state of the storage medium; group the data into unit data of any size corresponding to the determined internal trust level; generate parity information corresponding to the determined internal trust level based on the grouped data; and control an operation of storing the grouped data and the parity information in the storage medium.

[0009] A data processing system according to an embodiment of the present disclosure may include: a data processing device; and a storage controller including a storage medium, the storage controller interfacing between the data processing device and the storage medium. The storage controller is configured to: receive a storage request for processing data and an external trust level of the processing data from the data processing device; determine an internal trust level of the processing data as one of a plurality of internal trust levels based on the external trust level in consideration of the state of the storage medium; group the processing data into unit data of any size corresponding to the determined internal trust level; generate parity information corresponding to the determined internal trust level based on the grouped processing data; and control an operation of storing the grouped processing data and the parity information in the storage medium.

[0010] A storage device according to an embodiment of the present disclosure may include: a storage medium including a plurality of storage blocks each including a plurality of pages, an arbitrary number of planes each including a plurality of storage blocks, and an arbitrary number of dies each including an arbitrary number of planes; and a storage controller configured to control write operations and read operations on the storage medium. The storage controller includes: a trust level setting circuit configured to send status information of the storage medium to an external device in response to a write request from the external device and request the external device to determine an external trust level of write data; a trust level adjustment circuit configured to determine an internal trust level based on whether the external trust level provided from the external device is acceptable; and a processor configured to generate parity information by grouping a memory area to which write data is to be written according to a grouping level corresponding to the internal trust level.

[0011] An operation method of a storage device according to an embodiment of the present disclosure is an operation method of a storage device that controls an operation of a storage medium for storing data of an external device, and may include: receiving a storage request for data and an external trust level of the data from the external device; determining an internal trust level of the data as one of a plurality of internal trust levels based on the external trust level in consideration of the state of the storage medium; grouping the data into unit data of any size corresponding to the determined internal trust level; generating parity information corresponding to the determined internal trust level based on the grouped data; and controlling an operation of storing the grouped data and the parity information in the storage medium.

[0012] According to an embodiment of the present disclosure, for data requested to be stored, the reliability of dynamic RAID can be reduced, so that the RAID parity storage space can be effectively utilized. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 is a diagram showing a configuration of a data processing system according to an embodiment of the present disclosure.

[0014] Figure 2 is a diagram for describing a management concept of a storage medium including a non - volatile memory device according to an embodiment of the present disclosure.

[0015] Figure 3 is a diagram showing a logical configuration of a storage medium including a non - volatile memory device according to an embodiment of the present disclosure.

[0016] Figure 4 is a diagram showing a configuration of a RAID engine according to an embodiment of the present disclosure.

[0017] Figure 5 is a RAID mapping table according to an embodiment of the present disclosure.

[0018] Figures 6 to 9 is a flowchart for describing an operation method of a storage device according to an embodiment of the present disclosure. Detailed Description of the Invention

[0019] Hereinafter, embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings.

[0020] Figure 1 is a diagram showing a configuration of a data processing system 10 according to an embodiment of the present disclosure.

[0021] Referring to Figure 1 , the data processing system 10 may include an external device 100 and a storage device 200.

[0022] The external device 100 may include at least one processor. The external device 100 may be a processor itself, or an electronic device or system including a processor.

[0023] The storage device 200 may include a storage controller 210, a buffer memory device 220, and a storage medium 260. The storage medium 260 may at least include a plurality of non - volatile memory devices (NVM_1 to NVM_n) 230, 240, and 250.

[0024] To store data, the external device 100 may send a write request WT including a write command, an address, and write data to the storage device 200. Accordingly, the storage device 200 may control the storage medium 260 to program the write data.

[0025] To read data, the external device 100 may send a read request RD including a read command and an address to the storage device 200. The storage device 200 may read the read request data from the storage medium 260 and send the read data DATA to the external device 100. The storage device 200 may read data from the storage medium 260 to perform internal operations, as well as the read request RD from the external device 100. The internal operations may include housekeeping operations such as garbage collection and wear leveling.

[0026] The buffer memory device 220 may temporarily store data transmitted and received between the external device 100 and the storage device 200 during a write operation or a read operation.

[0027] The storage controller 210 may provide an interface between the external device 100 and the storage device 200. The storage controller 210 may include a redundant array of independent / inexpensive disks (RAID) engine 212 and an error correction code (ECC) engine 214.

[0028] The RAID engine 212 may store the write request data in the storage medium 260 in a manner according to a set RAID level (i.e., a trust level, a confidence level, or an integrity level).

[0029] The ECC engine 214 may perform encoding for error detection and correction on the write request data, and detect and correct errors included in the read request data.

[0030] When an uncorrectable error occurs in the read data, the data with the uncorrectable error may be recovered by the RAID engine 212.

[0031] Figure 2 is a diagram for describing a management concept of a storage medium 260 including a non-volatile memory device NVM according to an embodiment of the present disclosure.

[0032] The non-volatile memory device NVM may include any number of dies DIE0 and DIE1, and the dies DIE0 and DIE1 may each include any number of planes PLANE00 and PLANE01 and any number of planes PLANE10 and PLANE11, respectively. Plane PLANE00 may include a plurality of memory blocks BLOCK000 to BLOCK00N, plane PLANE01 may include a plurality of memory blocks BLOCK010 to BLOCK01N, plane PLANE10 may include a plurality of memory blocks BLOCK100 to BLOCK10N, and plane PLANE11 may include a plurality of memory blocks BLOCK110 to BLOCK11N. Each of the memory blocks BLOCK000 to BLOCK00N, BLOCK010 to BLOCK01N, BLOCK100 to BLOCK10N, and BLOCK110 to BLOCK11N may include a plurality of pages PAGE0 to PAGEM.

[0033] The non-volatile memory device NVM may input / output data through channels CHa and CHb. Each of the channels CHa and CHb may input / output data by using an interleaving method. For example, channel CHa may branch into multiple paths WAY0 and WAY1, and the paths WAY0 and WAY1 share channel CHa and are connected to planes PLANE00 and PLANE01. For example, channel CHb may branch into multiple paths WAY2 and WAY3, and the paths WAY2 and WAY3 share channel CHb and are connected to planes PLANE10 and PLANE11.

[0034] Figure 2 An example is shown in which dies DIE0 and DIE1 are respectively connected to independent channels CHa and CHb, planes PLANE00 and PLANE01 are connected to paths WAY0 and WAY1 branched from channel CHa, and planes PLANE10 and PLANE11 are connected to paths WAY2 and WAY3 branched from channel CHb; however, the configuration of the non-volatile memory device NVM is not limited thereto.

[0035] The storage controller 210 may configure a super block by grouping blocks that are simultaneously accessible among a plurality of memory blocks.

[0036] By grouping the memory blocks included in different planes within substantially the same die (A1 and A2), or by grouping the memory blocks included in different planes within a plurality of dies (B), the super block may be configured as a combination of simultaneously accessible blocks.

[0037] Figure 3 It is a diagram showing a logical configuration of a storage medium 260 including a non-volatile memory device according to an embodiment of the present disclosure.

[0038] Refer to Figure 3 , according to the type of data to be stored, the storage medium 260 may include a main data area and a system data area.

[0039] The data requested to be written by the external device 100 may be stored in the main data area. The main data area may include: used space (USED) 260-1, which is the space where data has been stored; and unused space (UNUSED) 260-2, which is the blank space where data has not been stored.

[0040] The system data area may include a system area (SYSTEM AREA) 260-3 for storing system information and an over-provisioning area (OP AREA) 260-4 that is basically required to maintain the operating performance of the storage device 200.

[0041] The system information stored in the system area 260-3 may include mapping data regarding mapping information between logical addresses and physical addresses, information for the startup operation of the storage device 200, setting information for the firmware for driving and executing the storage controller 210, and so on.

[0042] The over-provisioning area 260-4 may be a reserved area allocated such that various functions for operating the storage device 200 (e.g., wear leveling, garbage collection, and bad block management) can be smoothly executed. Therefore, the size of the over-provisioning area 260-4 may affect maintaining the performance of the storage device 200 and extending its service life.

[0043] RAID is a technology for maintaining the integrity of the data stored in the storage medium 260 and identifying and correcting errors. Various levels of RAID methods are known, and the parity information generated when storing data by the RAID method may be stored in the over-provisioning area 260-4.

[0044] Figure 4 is a diagram showing the configuration of the RAID engine 212 according to an embodiment of the present disclosure.

[0045] Refer to Figure 4 , according to an embodiment, the RAID engine 212 may include a trust level setting circuit 301, a trust level adjustment circuit 303, a RAID processor 305, a recovery circuit 307, and a RAID mapping table 309.

[0046] In response to a write request from the external device 100, the trust level setting circuit 301 can provide the external device 100 with RAID information regarding a plurality of internal trust levels (which are example values of the trust level) and device information of the storage medium 260. The RAID information can include size information of parity information corresponding to the plurality of internal trust levels. Thus, the external device 100 can determine one of the example values of the trust level based on the device information according to the importance of the data to be written, and send the determined trust level to the storage device 200 as an external trust level.

[0047] In an embodiment, the device information can include status information of the storage medium 260. The status information of the storage medium 260 can include the allowable number of program / erase times (i.e., PE cycles), the allowable cumulative error times (i.e., the increasing number of bad blocks), and the capacity (i.e., the total number of storage blocks) of the storage medium 260 defined in the specification of the storage medium 260. The device information can further include real-time status information reflecting the usage status of the storage medium 260, such as the current PE count, the current cumulative error count, and the remaining memory capacity (i.e., the number of remaining storage blocks).

[0048] When programming data according to the RAID method, a plurality of internal trust levels can be generated based on a grouping level, which serves as a unit of a memory area grouped to generate parity information and having an arbitrary size.

[0049] The grouping level of the memory area can be a die, a plane, a superblock, a page, etc. The lower the grouping level, the larger the parity information, and the reliability of the stored data can be enhanced.

[0050] The trust level setting circuit 301 can provide the external device 100 with RAID information including a plurality of internal trust levels according to the grouping level and size information of parity information corresponding to the plurality of internal trust levels as trust level values, and request the external device 100 to determine the external trust level according to the importance of the written data.

[0051] When the determined external trust level is sent from the external device 100, the trust level setting circuit 301 can update the RAID mapping table 309.

[0052] Figure 5 The configuration of the RAID mapping table 309 according to an embodiment of the present disclosure is shown.

[0053] Refer to Figure 5, the RAID mapping table 309 may include the logical address (LBA) of the write request data, the size (SIZE) of the write request data, the grouping level (GROUPING LEVEL) corresponding to the determined internal level, and the size of the parity information (PARITY SIZE) corresponding to the determined internal trust level.

[0054] In an embodiment, the grouping level may be a unit for generating parity information when programming write data into a memory area, such as a plane, a die, a superblock, and any number of pages (X-Pages).

[0055] According to the RAID method used by the storage device 200, the size of the parity information (PARITY SIZE) may be determined for each grouping level and stored in the RAID mapping table 309.

[0056] Return reference Figure 4 , the trust level adjustment circuit 303 may be configured to determine the size of the parity information to be generated according to the external trust level determined by the external device 100, and determine whether to accept the external trust level according to the size of the system data area allocated to the storage device 200.

[0057] Return reference Figure 3 , the trust level adjustment circuit 303 may determine whether to accept the external trust level based on the remaining size of the reserved space area 260-4 in the system data area for storing parity information.

[0058] For example, when the ratio of the parity information to be generated is less than a set first threshold, the trust level adjustment circuit 303 may accept the external trust level. The ratio of the parity information to be generated may be the ratio of the size of the parity information to be generated according to the trust level determined by the external device 100 to the remaining size of the reserved space area 260-4.

[0059] In an embodiment, when the ratio of the parity information to be generated is less than a set second threshold (the second threshold is less than the first threshold), the trust level adjustment circuit 303 may not accept the external trust level and may determine the internal trust level by adjusting the trust level upward. In this case, the ratio of the parity information to be generated according to the increased internal trust level may be adjusted to be less than the first threshold.

[0060] When the ratio of the parity information to be generated is equal to or greater than the set first threshold, the trust level adjustment circuit 303 may notify the external device 100 that the external trust level is unacceptable.

[0061] When the ratio of the parity information to be generated is equal to or greater than a set first threshold, the trust level adjustment circuit 303 can adjust the internal trust level so that the ratio of the parity information to be generated is less than the first threshold. The trust level adjustment result can be reflected in the RAID mapping table and notified to the external device 100.

[0062] In an embodiment, when the external trust level is unacceptable, the trust level adjustment circuit 303 can notify the external device 100 that the external trust level is unacceptable and request to re-determine the external trust level. Accordingly, when the external device 100 changes the external trust level, the trust level adjustment circuit 303 can determine whether to accept the changed external trust level and perform a series of operations according to the determination result.

[0063] In an embodiment, when the external device 100 does not change the external trust level, the trust level adjustment circuit 303 can basically maintain the external trust level initially determined by the external device 100 and notify the external device 100 of the risks caused by the corresponding programming operations, such as predicting insufficient OP AREA 260-4.

[0064] In an embodiment, when the external device 100 does not change the external trust level, the trust level adjustment circuit 303 can notify the external device 100 that the programming process has failed.

[0065] In an embodiment, when the external trust level is unacceptable, the trust level adjustment circuit 303 can maintain the external trust level and notify the external device 100 of the risks caused by the corresponding programming operations, such as predicting insufficient OP AREA 260-4.

[0066] In an embodiment, when the external trust level is unacceptable, the trust level adjustment circuit 303 can, while notifying that the external trust level is unacceptable, notify the external device 100 that the programming process has failed.

[0067] The RAID processor 305 can generate parity information about the written data at a grouping level corresponding to the internal trust level determined by the trust level adjustment circuit 303 according to the RAID method and store the written data in the storage medium 260.

[0068] When an uncorrectable error occurs in the data read according to a read request from the external device 100, the recovery circuit 307 can recover the read data based on the parity information. The recovery circuit 307 can recover the data by applying the parity information according to the grouping level stored in the RAID mapping table 309.

[0069] Figures 6 to 9 It is a flowchart for describing an operation method of a storage device according to an embodiment of the present disclosure.

[0070] Refer to Figure 6 When a write request (operation S101) is received from the external device 100, the storage device 200 may request the external device 100 to determine an external trust level and device information of the storage medium 260 (operation S103). Accordingly, the external device 100 may determine the external trust level based on the importance of the write data and the device information, and send the determined external trust level to the storage device 200.

[0071] When requesting the determination of the external trust level, the storage device 200 may send RAID information and device information. The RAID information may include a plurality of internal trust levels and the size of the parity information corresponding thereto.

[0072] In an embodiment, the device information may include status information of the storage medium 260, and may further include real-time status information reflecting the usage status of the storage medium 260. In an embodiment, the external device 100 may select any one of the plurality of internal trust levels as the external trust level based on the RAID information. When the storage device 200 programs data according to the RAID method, a plurality of internal trust levels may be generated according to a grouping level, where the grouping level is a unit of a memory area grouped to generate parity information.

[0073] The grouping level of the memory area may be a die, a plane, a superblock, a page, etc.

[0074] When the determined external trust level is sent from the external device 100 (operation S105), the storage device 200 may update the RAID mapping table 309 (operation S107).

[0075] The storage device 200 may determine whether to adjust the external trust level based on the size of the parity information to be generated according to the external trust level and the size of the system data area allocated to the storage medium 260 (operation S109).

[0076] In an embodiment, it may be determined whether to adjust the external trust level by comparing the ratio of the parity information generated according to the external trust level with a first threshold.

[0077] The ratio of the parity information to be generated is the ratio of the size of the parity information generated according to the external trust level to the remaining size of the reserved space area 260-4.

[0078] In an embodiment, when the ratio of the parity information to be generated is less than a first threshold and thus the trust level is acceptable (i.e., "no" in operation S109), the storage device 200 may generate parity for the write data according to a grouping level corresponding to an external trust level by means of a RAID method and store the write data in the storage medium 260 (operation S111).

[0079] In an embodiment, when an external trust level needs to be adjusted (i.e., "yes" in operation S109), the storage device 200 may execute Figures 7 to 9 the process shown.

[0080] Referring to Figure 7 , when the ratio of the parity information to be generated is less than a set second threshold or equal to or greater than a set first threshold, the storage device 200 may adjust the external trust level to determine an internal trust level (operation S301).

[0081] For example, when the ratio of the parity information to be generated is less than the set second threshold, the RAID engine 212 may determine the internal trust level by upwardly adjusting the external trust level. In this case, the ratio of the parity information to be generated according to the upwardly adjusted internal trust level may be adjusted to be less than the first threshold.

[0082] When the ratio of the parity information to be generated is equal to or greater than the set first threshold, the RAID engine 212 may adjust the external trust level such that the ratio of the parity information to be generated is less than the first threshold.

[0083] The trust level adjustment result may be reflected in the RAID mapping table (operation S303) and notified to the external device 100 (operation S305).

[0084] Subsequently, the storage device 200 may execute Figure 6 operation S111 shown.

[0085] Referring to Figure 8 , when the ratio of the parity information to be generated according to the external trust level is equal to or greater than the first threshold and thus the external trust level needs to be adjusted (i.e., "yes" in operation S109), the storage device 200 may notify the external device 100 that the external trust level needs to be adjusted (operation S401) and request to re-determine the external trust level (operation S403). Accordingly, the storage device 200 may check whether the external device 100 changes the external trust level (operation S405), and when the external trust level changes (i.e., "yes" in operation S405), the storage device 200 may continue with operation S107, i.e., determine whether the external trust level is acceptable and perform subsequent operations.

[0086] In an embodiment, when the external trust level is unacceptable and this fact is notified to the external device 100 (operation S401), or when the external device 100 does not change the external trust level (i.e., "No" in operation S405), the storage device 200 may perform a programming operation according to the external trust level initially determined by the external device 100 (operation S407), and notify the external device 100 of the risks caused by the programming operation, for example, predicting insufficient OP AREA 260-4 (operation S409).

[0087] In another embodiment, when the external trust level determined by the external device 100 needs to be adjusted (i.e., "Yes" in operation S109), the storage device 200 may notify the external device 100 that the external trust level needs to be adjusted (operation S401), and perform a programming operation according to the external trust level initially determined by the external device 100 (operation S407). Subsequently, the storage device 200 may notify the external device 100 of the risks caused by the programming operation, for example, predicting insufficient OP AREA 260-4 (operation S409).

[0088] Referring to Figure 9 , when the external trust level is unacceptable and this fact is notified to the external device 100 (operation S401), or when the external device 100 does not change the external trust level (i.e., "No" in operation S405), the storage device 200 may notify the external device 100 that the programming process has failed (operation S501).

[0089] The storage device 200 may generate parity for the written data at a grouping level corresponding to the internally determined trust level in this way according to the RAID method, and store the written data in the storage medium 260.

[0090] Subsequently, when an uncorrectable error occurs in the data read according to a read request from the external device 100, the storage device 200 may obtain the grouping level of the read data by referring to the RAID mapping table 309. Subsequently, the storage device 200 may recover the data including the uncorrectable error by applying parity information according to the obtained grouping level.

[0091] Those skilled in the art to which the present disclosure pertains can understand that the embodiments of the present disclosure can be implemented in other specific forms without changing its technical spirit or basic characteristics. Therefore, it should be understood that the above embodiments are exemplary in all aspects and not restrictive. The scope of the present disclosure is defined by the described claims rather than the specific embodiments, and it should be understood that all changes or modifications resulting from the meaning and scope of the claims and their equivalent concepts should be included within the scope of the present disclosure. In addition, the embodiments can be combined to form additional embodiments.

Claims

1. A storage device, comprising: A storage medium for storing data of an external device; And A storage controller for controlling operations of the storage medium, Wherein, the storage controller: Receives a storage request for data and an external trust level of the data from the external device, Determines an internal trust level of the data as one of a plurality of internal trust levels based on the external trust level in consideration of the state of the storage medium, Groups the data into unit data of an arbitrary size corresponding to the determined internal trust level, Generates parity check information corresponding to the determined internal trust level based on the grouped data, and Controls operations of storing the grouped data and the parity check information in the storage medium.

2. The storage device according to claim 1, wherein, The storage controller requests the external trust level from the external device.

3. The storage device according to claim 1, wherein, The storage controller generates parity check information of different sizes for each of the plurality of internal trust levels.

4. The storage device according to claim 1, wherein, Each of the external trust level and the internal trust level includes a redundant array of independent / inexpensive disks level, i.e., a RAID level, and The storage controller generates RAID information including size information of parity check information corresponding to the plurality of internal trust levels.

5. The storage device according to claim 4, wherein, The storage controller sends the RAID information to the external device.

6. The storage device according to claim 1, wherein, When the storage request data is programmed into the storage medium, the storage controller determines the plurality of internal trust levels according to the size of the grouped unit data.

7. The storage device according to claim 1, wherein, The storage controller sends status information including the allowable number of program / erase operations, the allowable cumulative error number, and the capacity of the storage medium to the external device.

8. The storage device according to claim 7, wherein, The storage controller sends real-time status information including the current number of program / erase operations, the current cumulative error number, and the remaining capacity of the storage medium to the external device as the status information.

9. The storage device according to claim 1, wherein, The storage medium includes a system data area for storing the parity check information, and The storage controller determines the internal trust level by determining whether to accept the external trust level based on a ratio of the size of the parity check information to the remaining size of the system data area.

10. The storage device according to claim 9, wherein, When the external trust level is unacceptable, the storage controller requests the external device to adjust the external trust level.

11. The storage device according to claim 9, wherein, When the external trust level is unacceptable, the storage controller notifies the external device of a risk according to the remaining size of the system data area.

12. The storage device according to claim 9, wherein, When the external trust level is unacceptable, the storage controller notifies the external device that the storage operation has failed.

13. A storage device, comprising: A storage medium including a plurality of storage blocks each including a plurality of pages, an arbitrary number of planes each including a plurality of storage blocks, and an arbitrary number of dies each including an arbitrary number of planes; And A storage controller for controlling write operations and read operations on the storage medium, Wherein, the storage controller includes: A trust level setting circuit that sends status information of the storage medium to the external device in response to a write request from the external device and requests the external device to determine an external trust level of the write data; A trust level adjustment circuit that determines an internal trust level based on whether the external trust level provided by the external device is acceptable; and A processor that generates parity information by grouping a memory area to which the write data is to be written according to a grouping level corresponding to the internal trust level.

14. The storage device according to claim 13, wherein, When programming the write data into the storage medium according to the RAID method, the trust level setting circuit sets a plurality of internal trust levels based on the grouping level, and the grouping level serves as a unit of the memory area grouped to generate the parity information, and The trust level adjustment circuit determines the internal trust level as one of the plurality of internal trust levels according to whether the external trust level provided by the external device is acceptable.

15. The storage device according to claim 13, wherein, The trust level setting circuit groups the memory area in units of any number of dies, any number of planes, memory blocks or pages.

16. The storage device according to claim 13, wherein, The storage medium includes a system data area for storing the parity information, and The trust level adjustment circuit determines whether to accept the external trust level provided by the external device based on a ratio of a size of the parity information to a remaining size of the system data area.

17. The storage device according to claim 13, wherein, When the external trust level provided by the external device is unacceptable, the trust level adjustment circuit adjusts the internal trust level by itself.

18. The storage device according to claim 13, wherein, The storage controller further includes a RAID mapping table that manages an address associated with the write request, a size of the write data, the grouping level, and a size of the parity information.

19. The storage device according to claim 13, wherein, The status information includes an allowable number of program / erase times, an allowable cumulative error number, and a capacity of the storage medium.