CN111694764B - Data reading method of failed solid state disk - Google Patents

Data reading method of failed solid state disk Download PDF

Info

Publication number
CN111694764B
CN111694764B CN202010474125.3A CN202010474125A CN111694764B CN 111694764 B CN111694764 B CN 111694764B CN 202010474125 A CN202010474125 A CN 202010474125A CN 111694764 B CN111694764 B CN 111694764B
Authority
CN
China
Prior art keywords
solid state
state disk
executing
data
judging whether
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202010474125.3A
Other languages
Chinese (zh)
Other versions
CN111694764A (en
Inventor
梁效宁
董超
许超明
彭炼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xly Salvationdata Technology Inc
Original Assignee
Xly Salvationdata Technology Inc
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 Xly Salvationdata Technology Inc filed Critical Xly Salvationdata Technology Inc
Priority to CN202010474125.3A priority Critical patent/CN111694764B/en
Publication of CN111694764A publication Critical patent/CN111694764A/en
Application granted granted Critical
Publication of CN111694764B publication Critical patent/CN111694764B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention discloses a data reading method of a failed solid state disk, which is characterized by comprising the following steps of: s100: connecting the solid state disk to the device; s200: whether the solid state disk is normal and ready is judged, if yes, step S300 is executed, otherwise, the process is ended; s300: acquiring first basic information; s400: acquiring basic parameters; s500: whether the microcode of the solid state disk can be uploaded or not, if so, executing the step S600, otherwise, executing the step S700; s600: uploading a microcode of the solid state disk, acquiring an unlocking mark, and executing the step S800; s700: checking the first basic information, judging whether the checking is passed, if so, executing the step S800, otherwise, ending the process; s800: whether the data of the solid state disk is read by adopting an internal decoding mode is judged, if so, the step S900 is executed, otherwise, the step SA00 is executed; s900: addressing the physical address of the current sector by adopting internal decoding, reading data and executing the step SC00; SA00: creating a decoding table file; SB00: the physical address of the current sector is addressed and the data is read.

Description

Data reading method of failed solid state disk
Technical Field
The invention belongs to the field of information security technology and data recovery, relates to a method for accessing a failed solid state disk, and particularly relates to a data reading method for the failed solid state disk.
Background
In the fields of information security technology and data recovery, the capacity of hard disks is increasing and the usage of hard disks is expanding. Meanwhile, the shipment volume of hard disk drives HDD type hard disks is continuously reduced, and the shipment volume of solid state drives SSD is continuously increased. Since 2010, the Solid State Disk (SSD) shipment starts to increase rapidly, and the increase rate is kept more than 10% for nine consecutive years: the increase rate in 2015 is 30.4%, and the increase rate in the solid state disk SSD output in 2018 is 37.2%; in 2020, the Solid State Disk (SSD) shipment is expected to increase to more than 2 hundred million pieces.
The solid state disk SSD is widely used due to its fast read/write speed. With the continuous increase of the Solid State Disk (SSD) shipment volume, more and more problems appear. The failure is affected not only by the number of writes, but also by other conditions. For example, even when the solid state disk SSD is not powered on, data is slowly lost over time; in addition, for every 5 ℃ rise in temperature, the time for which the data can be stored is reduced by half. Recently, some published security reports have indicated that some of the solid state drives used by servers and storage products are defective, data is lost on the drives after about 32746 hours of power up, and the data is unrecoverable, which also has very serious consequences.
In the prior art, methods for repairing a solid state disk SSD mainly include methods of firmware repair, chip data reassembly, interface conversion, physical replacement, and the like. However, the prior art has the problem that either the technical solution is too complicated or the replacement fittings are too expensive.
In the prior art, a simple and practical method for accessing a failed solid state disk without extra cost is not available.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides a data reading method of a fault solid state disk, which realizes the purpose of accessing the fault solid state disk by accessing the data of the solid state disk in a logic address addressing mode through creating a decoding table file or reading the data of the solid state disk in an internal decoding mode. The invention comprises the following steps:
s100: connecting the solid state disk to a device with an SATA interface;
s200: judging whether the solid state disk is normal and ready, if so, executing the step S300, otherwise, ending the process;
s300: acquiring first basic information of the solid state disk, wherein the first basic information comprises a manufacturer, a model, an interface type and a disk identifier;
s400: acquiring basic parameters of the solid state disk, including an ID number of a FLASH chip, an estimated capacity, the number of chip blocks, the size of a sector and the size of a page;
s500: judging whether the microcode of the solid state disk can be uploaded, if so, executing the step S600, otherwise, executing the step S700;
s600: uploading the microcode of the solid state disk, acquiring an unlocking mark of the solid state disk, and executing the step S800;
s700: checking the first basic information of the solid state disk, judging whether the checking is passed, if so, executing the step S800, otherwise, ending the process;
s800: judging whether the data of the solid state disk is read by adopting an internal decoding mode, if so, executing a step S900, otherwise, executing a step SA00;
s900: addressing the physical address of the current sector by adopting internal decoding, reading data and executing the step SC00;
SA00: creating a decoding table file: analyzing FLASH chip data of the solid state disk, including scanning management area data of the FLASH chip of the solid state disk, calculating a mapping relation between a physical address and a logical address, and storing the mapping relation to the decoding table file;
SB00: according to the decoding table file, addressing the physical address of the current sector and reading data;
SC00: judging whether the sector number corresponding to the current read data is the maximum sector number of the solid state disk, if so, ending the process, otherwise, executing the step SD00;
SD00: the next sector number is addressed, which is taken as the current sector number, and step S800 is repeatedly performed.
Preferably, the main board of the device is provided with a SATA interface.
Preferably, the device has a function of converting a non-SATA interface to a SATA interface, and the non-SATA interface includes a USB interface, a PCIE interface, and an IDE interface.
Preferably, the device comprises a computer and an embedded device.
Preferably, the disk manager of the apparatus displays the first basic information of the solid state disk, and then the solid state disk is in a normal ready state.
Preferably, the step S600 includes the steps of:
s601: acquiring second basic information of the solid state disk, judging whether the microcode is uploaded successfully, if so, executing step S602, otherwise, exiting the process;
s602: and judging whether the second basic information has an unlocking mark, if so, executing the step S800, otherwise, exiting the process.
Preferably, the step S700 includes the steps of:
s701: setting one or more input buffer area data, wherein the input buffer area data is used for reading response data of the solid state disk;
s702: sequentially writing one or more input buffer area data into the solid state disk;
s703: reading the response data of the solid state disk;
s704: and judging whether the response data has a mark, if so, executing the step S800, otherwise, exiting the process.
The method provided by the invention can be used for accessing the fault solid state disk simply and practically without extra cost.
Drawings
FIG. 1 is a general flow diagram of a method provided by the present invention;
FIG. 2 is a flowchart illustrating a method for determining whether the verification passes;
fig. 3 is an exemplary diagram of accessing 0 sectors of data of a solid state disk by means of logical address addressing in another embodiment provided by the present invention.
Detailed Description
Fig. 1 shows a general flow chart of the method provided by the present invention. As shown in fig. 1, the method comprises the following steps:
s100: and connecting the solid state disk to a device with the SATA interface. The type of the device comprises a computer and various embedded devices, and the mainboard is provided with an SATA interface and can send an instruction to the solid state disk through the SATA interface and receive the response of the solid state disk;
the device can also be a computer and various embedded devices of which the mainboard does not have an SATA interface, but has non-SATA interfaces such as a USB interface and/or a PCIE interface and/or an IDE interface, and the non-SATA interfaces have the function of converting the SATA interface.
In this embodiment, a computer with a SATA interface on a motherboard is used as the device, which will be referred to as a computer hereinafter.
S200: judging whether the solid state disk is normal and ready, if so, executing the step S300, otherwise, ending the process;
specifically, the solid state disk is connected to the computer, the disk manager at the computer end is opened, after 5 seconds, if the first basic information of the solid state disk is displayed in the disk manager, the solid state disk is in a normal ready state, and step S300 may be performed, otherwise, the process is ended.
In addition, if the solid state disk can normally accept and respond to the instruction sent by the computer, and the computer can acquire the state information of the solid state disk, it can also be considered that the solid state disk is in a normal ready state.
S300: first basic information of the solid state disk is obtained, wherein the first basic information comprises a manufacturer, a model, an interface type, a drive letter and the like.
S400: the method comprises the following steps of obtaining basic parameters of the solid state disk, including an ID number of a FLASH chip, an estimated capacity, the number of chip blocks, the size of a sector and the size of a page, and the method comprises the following steps:
s401: analyzing the ID number, the chip block number, the sector size and the page size of a FLASH chip of the solid state disk, and reading the display capacity of the solid state disk;
s402: judging whether the display capacity is equal to the estimated capacity of the solid state disk, if so, executing the step S500, otherwise, executing the step S403;
s403: and judging whether the display capacity is smaller than 1 gigabyte, if so, executing the step S500, and otherwise, ending the flow. In this embodiment, the display capacity of the solid state disk is 8MB, that is, 8 mbytes, which is smaller than 1 gbyte, step S500 is executed.
S500: and judging whether the microcode of the solid state disk can be uploaded, if so, executing the step S600, otherwise, executing the step S700.
It should be noted that not every solid state disk needs to upload microcode, so that judgment is needed, and the next operation is performed according to the judgment result.
S600: uploading a microcode of the solid state disk, acquiring an unlocking mark of the solid state disk, and executing the step S800;
step S600 includes the following steps:
s601: acquiring second basic information of the solid state disk, judging whether the microcode is uploaded successfully, if so, executing the step S602, otherwise, exiting the process;
specifically, the second basic information may be obtained according to a second basic information obtaining instruction of the solid state disk, where the second basic information includes an identifier indicating whether the microcode is successfully uploaded.
S602: and judging whether the second basic information has an unlocking mark, if so, executing the step S800, otherwise, exiting the process.
S700: checking first basic information of the solid state disk, judging whether the checking is passed, specifically, judging whether response data has a mark, if so, executing the step S800, otherwise, ending the process;
fig. 2 shows a specific flowchart for determining whether the verification passes in the method provided by the present invention. As shown in fig. 2, step S700 includes the steps of:
s701: setting one or more input buffer area data, wherein the input buffer area data are used for reading response data of the solid state disk;
in each solid state disk, the data of the input buffer area used for reading the response data of the solid state disk are different, and the data of the input buffer area used for reading the response data of the solid state disk, which correspond to each other, can be searched from the description data of each solid state disk. In this embodiment, there are 3 pieces of input buffer data, which are respectively:
the first time of executing the write command to write in the data of the input buffer area of the solid state disk, the byte length of the write command is 512 bytes, and the data of the input buffer area is as follows:
0b 00 00 00 25 b7 8e 8c 1a 4f b5 2d 0f b3 9a 20
04 d7 6a 8c f9 fa c6 d1 ee 1e e3 8d e3 42 ff 95
d8 66 1b 5e cd 8a 37 26 c2 ae 53 ee b7 d2 6f b6
ac f6 8b 7e a1 1a a8 46 96 3e c4 0e 8b 62 e0 d6
80 86 fc 9e 75 aa 18 67 6a ce 34 2f 5f f2 50 f7
54 16 6d bf 49 3a 89 87 3e 5e a5 4f 33 82 c1 17
28 a6 dd df 1d ca f9 a7 12 ee 15 70 07 12 32 38
fc 35 4e 00 f1 59 6a c8 e6 7d 86 90 db a1 a2 58
d0 c5 be 20 c5 e9 da e8 ba 0d f7 b0 e7 d8 a0 98
a4 55 2f 41 99 79 4b 09 8e 9d 67 d1 83 c1 83 99
78 e5 9f 61 6d 09 bc 29 62 2d d8 f1 57 51 f4 b9
e6 b0 4a d2 00 00 00 00 00 00 00 00 00 00 00 00
be 14 96 b5 23 00 00 00 0a 4d b9 32 ff 70 d5 fa
f4 94 f1 c2 e9 b8 0d 8b de dc 29 53 d3 00 46 1b
c8 24 62 e3 bd 48 7e ab b2 6c 9a 73 a7 90 b6 3b
9c b4 d2 03 91 d8 ee cb 86 fc 0a 94 7b 20 27 5c
70 44 43 24 65 68 5f ec 5a 8c 7b b4 4f b0 97 7c
44 d4 b3 44 39 f8 cf 0c 2e 1c ec d4 23 40 08 9d
18 64 24 65 0d 88 40 2d 02 ac 5c f5 f7 cf 78 bd
ec f3 94 85 e1 17 b1 4d d6 3b cd 15 cb 5f e9 dd
c0 83 05 a6 b5 a7 21 6e aa cb 3d 36 9f ef 59 fe
94 13 76 c6 89 37 92 8e 7e 5b ae 56 73 7f ca 1e
68 a3 e6 e6 00 00 00 00 52 eb 1e 77 47 0f 3b 3f
42 41 52 45 46 4f 4f 54 33 2d 46 41 43 54 4f 52
59 2d 52 4f 4d 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
executing a write command for the second time to write data in an input buffer area of the solid state disk, wherein the byte length of the write command is 512 bytes, and the data in the input buffer area is as follows:
0b 00 00 00 94 69 51 cf 68 f0 9e 40 3c a2 48 97
10 84 20 aa e4 65 53 f3 b8 47 b6 85 8c 29 19 a3
60 0b 7c f0 34 ed de 3d 08 cf 41 8b dc b0 a4 d8
b0 92 07 26 84 74 6a 73 58 56 cd c0 2c 38 30 0e
00 1a 93 5b d4 fb f5 a8 a8 dd 58 f6 7c bf bb 43
50 a1 1e 91 24 83 81 de f8 64 e4 2b cc 46 47 79
a0 28 aa c6 74 0a 0d 14 48 ec 6f 61 1c ce d2 ae
f0 af 35 fc c4 91 98 49 98 73 fb 96 6c 55 5e e4
40 37 c1 31 14 19 24 7f e8 fa 86 cc e7 d8 a0 98
90 be 4c 67 64 a0 af b4 38 82 12 02 0c 64 75 4f
e0 45 d8 9c b4 27 3b ea 88 09 9e 37 5c eb 00 85
98 0f 61 bf 00 00 00 00 00 00 00 00 00 00 00 00
be 14 96 b5 23 00 00 00 28 18 b5 a2 fc f9 17 f0
d0 db 7a 3d a4 bd dd 8a 78 9f 40 d8 4c 81 a3 25
20 63 06 73 f4 44 69 c0 c8 26 cc 0d 9c 08 2f 5b
70 ea 91 a8 44 cc f4 f5 18 ae 57 43 ec 8f ba 90
c0 71 1d de 94 53 80 2b 68 35 e3 78 3c 17 46 c6
10 f9 a8 13 e4 da 0b 61 b8 bc 6e ae 8c 9e d1 fb
60 80 34 49 34 62 97 96 08 44 fa e3 dc 25 5d 31
b0 07 c0 7e 84 e9 22 cc 58 cb 85 19 2c ad e8 66
00 8f 4b b4 d4 70 ae 01 a8 52 11 4f 7c 34 74 9c
50 16 d7 e9 24 f8 39 37 f8 d9 9c 84 cc bb ff d1
a0 9d 62 1f 00 00 00 00 48 61 28 ba 34 a8 ef c2
42 41 52 45 46 4f 4f 54 33 2d 46 41 43 54 4f 52
59 2d 52 4f 4d 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
and executing a write instruction for the third time to write the data in the input buffer area of the solid state disk, wherein the byte length of the data is 0 byte, and the data in the input buffer area is empty.
S702: sequentially writing one or more input buffer area data into the solid state disk;
in each solid state disk, the write instruction for reading the response data of the solid state disk is different, and the write instruction for reading the response data of the solid state disk corresponding to each write instruction can be searched from the description data of each solid state disk. The number of write instructions in this embodiment is 3, which are:
the first execution of the write command is 0x00,0x01,0x00,0x0, 0x30
The second execution of the write command is 0x00,0x01,0x00,0x0, 0x30
The third execution of the write command is 0x03,0x46,0x00, 0xE0,0xEF
Correspondingly, the instructions executed 3 times and the data in the input buffer area are respectively as follows:
executing the write command and the input buffer data for the first time:
0x00,0x01,0x00,0x00,0x00,0xE0,0x30,
0b 00 00 00 25 b7 8e 8c 1a 4f b5 2d 0f b3 9a 20
04 d7 6a 8c f9 fa c6 d1 ee 1e e3 8d e3 42 ff 95
d8 66 1b 5e cd 8a 37 26 c2 ae 53 ee b7 d2 6f b6
ac f6 8b 7e a1 1a a8 46 96 3e c4 0e 8b 62 e0 d6
80 86 fc 9e 75 aa 18 67 6a ce 34 2f 5f f2 50f7
54 16 6d bf 49 3a 89 87 3e 5e a5 4f 33 82 c1 17
28 a6 dd df 1d ca f9 a7 12 ee 15 70 07 12 32 38
fc 35 4e 00 f1 59 6a c8 e6 7d 86 90 db a1 a2 58
d0 c5 be 20 c5 e9 da e8 ba 0d f7 b0 e7 d8 a0 98
a4 55 2f 41 99 79 4b 09 8e 9d 67 d1 83 c1 83 99
78 e5 9f 61 6d 09 bc 29 62 2d d8 f1 57 51 f4 b9
e6 b0 4a d2 00 00 00 00 00 00 00 00 00 00 00 00
be 14 96 b5 23 00 00 00 0a 4d b9 32 ff 70 d5 fa
f4 94 f1 c2 e9 b8 0d 8b de dc 29 53 d3 00 46 1b
c8 24 62 e3 bd 48 7e ab b2 6c 9a 73 a7 90 b6 3b
9c b4 d2 03 91 d8 ee cb 86 fc 0a 94 7b 20 27 5c
70 44 43 24 65 68 5f ec 5a 8c 7b b4 4f b0 97 7c
44 d4 b3 44 39 f8 cf 0c 2e 1c ec d4 23 40 08 9d
18 64 24 65 0d 88 40 2d 02 ac 5c f5 f7 cf 78 bd
ec f3 94 85 e1 17 b1 4d d6 3b cd 15 cb 5f e9 dd
c0 83 05 a6 b5 a7 21 6e aa cb 3d 36 9f ef 59 fe
94 13 76 c6 89 37 92 8e 7e 5b ae 56 73 7f ca 1e
68 a3 e6 e6 00 00 00 00 52 eb 1e 77 47 0f 3b 3f
42 41 52 45 46 4f 4f 54 33 2d 46 41 43 54 4f 52
59 2d 52 4f 4d 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
executing the write instruction and the input buffer data for the second time:
0x00,0x01,0x00,0x00,0x00,0xE0,0x30,
0b 00 00 00 94 69 51 cf 68 f0 9e 40 3c a2 48 97
10 84 20 aa e4 65 53 f3 b8 47 b6 85 8c 29 19 a3
60 0b 7c f0 34 ed de 3d 08 cf 41 8b dc b0 a4 d8
b0 92 07 26 84 74 6a 73 58 56 cd c0 2c 38 30 0e
00 1a 93 5b d4 fb f5 a8 a8 dd 58 f6 7c bf bb 43
50 a1 1e 91 24 83 81 de f8 64 e4 2b cc 46 47 79
a0 28 aa c6 74 0a 0d 14 48 ec 6f 61 1c ce d2 ae
f0 af 35 fc c4 91 98 49 98 73 fb 96 6c 55 5e e4
40 37 c1 31 14 19 24 7f e8 fa 86 cc e7 d8 a0 98
90 be 4c 67 64 a0 af b4 38 82 12 02 0c 64 75 4f
e0 45 d8 9c b4 27 3b ea 88 09 9e 37 5c eb 00 85
98 0f 61 bf 00 00 00 00 00 00 00 00 00 00 00 00
be 14 96 b5 23 00 00 00 28 18 b5 a2 fc f9 17 f0
d0 db 7a 3d a4 bd dd 8a 78 9f 40 d8 4c 81 a3 25
20 63 06 73 f4 44 69 c0 c8 26 cc 0d 9c 08 2f 5b
70 ea 91 a8 44 cc f4 f5 18 ae 57 43 ec 8f ba 90
c0 71 1d de 94 53 80 2b 68 35 e3 78 3c 17 46 c6
10 f9 a8 13 e4 da 0b 61 b8 bc 6e ae 8c 9e d1 fb
60 80 34 49 34 62 97 96 08 44 fa e3 dc 25 5d 31
b0 07 c0 7e 84 e9 22 cc 58 cb 85 19 2c ad e8 66
00 8f 4b b4 d4 70 ae 01 a8 52 11 4f 7c 34 74 9c
50 16 d7 e9 24 f8 39 37 f8 d9 9c 84 cc bb ff d1
a0 9d 62 1f 00 00 00 00 48 61 28 ba 34 a8 ef c2
42 41 52 45 46 4f 4f 54 33 2d 46 41 43 54 4f 52
59 2d 52 4f 4d 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
and executing the write instruction and the input buffer data thereof for the third time:
0x03,0x46,0x00, 0xE0, and 0xEF, and the data buffer is empty, and the byte length is 0.
S703: and reading response data of the solid state disk.
And executing a read instruction, wherein the byte length of the data of the output buffer area of the read instruction is 512 bytes, and the data is an arbitrary value. The read command and the data of the output buffer area thereof are used for reading the response data of the solid state disk, and the byte length of the response data is 512 bytes.
<xnotran> , 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x25, 512 , , , : </xnotran>
0b 00 00 00 94 69 51 cf 68 f0 9e 40 3c a2 48 97
10 84 20 aa e4 65 53 f3 b8 47 b6 85 8c 29 19 a3
60 0b 7c f0 34 ed de 3d 08 cf 41 8b dc b0 a4 d8
b0 92 07 26 84 74 6a 73 58 56 cd c0 2c 38 30 0e
00 1a 93 5b d4 fb f5 a8 a8 dd 58 f6 7c bf bb 43
50 a1 1e 91 24 83 81 de f8 64 e4 2b cc 46 47 79
a0 28 aa c6 74 0a 0d 14 48 ec 6f 61 1c ce d2 ae
f0 af 35 fc c4 91 98 49 98 73 fb 96 6c 55 5e e4
40 37 c1 31 14 19 24 7f e8 fa 86 cc 33 2d f4 a2
90 be 4c 67 64 a0 af b4 38 82 12 02 0c 64 75 4f
e0 45 d8 9c b4 27 3b ea 88 09 9e 37 5c eb 00 85
98 0f 61 bf 00 00 00 00 00 00 00 00 00 00 00 00
72 c0 42 ab 23 00 00 00 28 18 b5 a2 fc f9 17 f0
d0 db 7a 3d a4 bd dd 8a 78 9f 40 d8 4c 81 a3 25
20 63 06 73 f4 44 69 c0 c8 26 cc 0d 9c 08 2f 5b
70 ea 91 a8 44 cc f4 f5 18 ae 57 43 ec 8f ba 90
c0 71 1d de 94 53 80 2b 68 35 e3 78 3c 17 46 c6
10 f9 a8 13 e4 da 0b 61 b8 bc 6e ae 8c 9e d1 fb
60 80 34 49 34 62 97 96 08 44 fa e3 dc 25 5d 31
b0 07 c0 7e 84 e9 22 cc 58 cb 85 19 2c ad e8 66
00 8f 4b b4 d4 70 ae 01 a8 52 11 4f 7c 34 74 9c
50 16 d7 e9 24 f8 39 37 f8 d9 9c 84 cc bb ff d1
a0 9d 62 1f 00 00 00 00 48 61 28 ba 34 a8 ef c2
42 41 52 45 46 4f 4f 54 33 2d 46 41 43 54 4f 52
59 2d 52 4f 4d 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
S704: and judging whether the response data has a mark, if so, executing the step S800, and otherwise, exiting the process.
It should be noted that, the mark of each solid state disk is different, and the corresponding mark can be found from the description data of each solid state disk. In this example, the flag is 0x0b 00.
In this embodiment, the content of the first 4 bytes of the read response data is 0x0b 00, and the content is determined to be the flag 0x0b 00, so step S800 is executed.
S800: judging whether the data of the solid state disk is read by adopting an internal decoding mode, if so, executing a step S900, otherwise, executing a step SA00;
s900: addressing the physical address of the current sector by adopting internal decoding and reading data, namely accessing the data of the current sector of the solid state disk in a logical address addressing mode, and executing the step SC00;
SA00: creating a decoding table file: analyzing FLASH chip data of the solid state disk, including scanning management area data of a FLASH chip of the solid state disk, calculating a mapping relation between a physical address and a logical address, and storing the mapping relation into a decoding table file;
SB00: according to the decoding table file, addressing the physical address of the current sector and reading data, namely accessing the current sector data of the solid state disk in a logical address addressing mode;
SC00: judging whether the sector number corresponding to the current read data is the maximum sector number of the solid state disk or not, if so, ending the process, otherwise, executing the step SD00;
SD00: the next sector number is addressed, and the next sector number is taken as the current sector number, and step S800 is repeatedly executed.
Fig. 3 shows an exemplary diagram of accessing 0 sectors of data of a solid state disk by way of logical address addressing in step S900 or step SB00 in another embodiment provided by the present invention.
The method solves the technical problem that no method for accessing the fault solid state disk, which is simple and practical and does not need extra cost, exists in the prior art.
It will be understood that the invention is not limited to the examples described above, but that modifications and variations are possible to those skilled in the art in light of the above teachings, and that all such modifications and variations are within the scope of the invention as defined in the appended claims.

Claims (7)

1. A data reading method of a fault solid state disk is characterized by comprising the following steps:
s100: connecting the solid state disk to a device with an SATA interface;
s200: judging whether the solid state disk is normally ready, if so, executing the step S300, otherwise, ending the process;
s300: acquiring first basic information of the solid state disk, wherein the first basic information comprises a manufacturer, a model, an interface type and a disk identifier;
s400: acquiring basic parameters of the solid state disk, including an ID number of a FLASH chip, an estimated capacity, the number of chip blocks, the size of a sector and the size of a page;
s500: judging whether the microcode of the solid state disk can be uploaded, if so, executing the step S600, otherwise, executing the step S700;
s600: uploading the microcode of the solid state disk, acquiring an unlocking mark of the solid state disk, and executing the step S800;
s700: checking the first basic information of the solid state disk, judging whether the checking is passed, if so, executing the step S800, otherwise, ending the process;
s800: judging whether the data of the solid state disk is read by adopting an internal decoding mode, if so, executing a step S900, otherwise, executing a step SA00;
s900: addressing the physical address of the current sector by adopting internal decoding, reading data and executing the step SC00;
SA00: creating a decoding table file: analyzing FLASH chip data of the solid state disk, including scanning management area data of the FLASH chip of the solid state disk, calculating a mapping relation between a physical address and a logical address, and storing the mapping relation to the decoding table file;
SB00: according to the decoding table file, addressing the physical address of the current sector and reading data;
SC00: judging whether the sector number corresponding to the current read data is the maximum sector number of the solid state disk, if so, ending the process, otherwise, executing the step SD00;
SD00: the next sector number is addressed as the current sector number, and step S800 is repeatedly performed.
2. The method according to claim 1, wherein a motherboard of the apparatus has a SATA interface.
3. The method as claimed in claim 1, wherein the device has a function of converting non-SATA interfaces to SATA interfaces, and the non-SATA interfaces include a USB interface, a PCIE interface, and an IDE interface.
4. The method as claimed in claim 1, wherein the apparatus includes a computer and an embedded device.
5. The method as claimed in claim 1, wherein a disk manager of the apparatus displays the first basic information of the solid state disk, and the solid state disk is in a normal ready state.
6. The method according to claim 1, wherein the step S600 includes the following steps:
s601: acquiring second basic information of the solid state disk, judging whether the microcode is successfully uploaded, if so, executing step S602, otherwise, exiting the process;
s602: and judging whether the second basic information has an unlocking mark, if so, executing the step S800, and otherwise, exiting the process.
7. The method according to claim 1, wherein the step S700 includes the following steps:
s701: setting one or more input buffer area data, wherein the input buffer area data are used for reading response data of the solid state disk;
s702: sequentially writing one or more input buffer area data into the solid state disk;
s703: reading the response data of the solid state disk;
s704: and judging whether the response data has a mark, if so, executing the step S800, otherwise, exiting the process.
CN202010474125.3A 2020-05-29 2020-05-29 Data reading method of failed solid state disk Active CN111694764B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010474125.3A CN111694764B (en) 2020-05-29 2020-05-29 Data reading method of failed solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010474125.3A CN111694764B (en) 2020-05-29 2020-05-29 Data reading method of failed solid state disk

Publications (2)

Publication Number Publication Date
CN111694764A CN111694764A (en) 2020-09-22
CN111694764B true CN111694764B (en) 2023-03-14

Family

ID=72478816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010474125.3A Active CN111694764B (en) 2020-05-29 2020-05-29 Data reading method of failed solid state disk

Country Status (1)

Country Link
CN (1) CN111694764B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286720B (en) * 2020-10-28 2023-08-01 四川效率源信息安全技术股份有限公司 Method for extracting deleted data after enabling TRIM command to solid state disk controlled by SM2246EN
CN112286719B (en) * 2020-10-28 2023-08-25 四川效率源信息安全技术股份有限公司 Data recovery method for solid state disk after TRIM deletion data is started
CN112286717B (en) * 2020-10-28 2023-08-01 四川效率源信息安全技术股份有限公司 Data recovery method after enabling TRIM command for solid state disk
CN112527700B (en) * 2020-12-04 2024-04-12 四川效率源信息安全技术股份有限公司 Method for realizing isolation of defective hard disk based on PCI-E device
CN112527195B (en) * 2020-12-04 2023-01-06 四川效率源信息安全技术股份有限公司 Method for extracting physical data of solid state disk
CN113360957B (en) * 2021-06-30 2022-08-02 四川效率源信息安全技术股份有限公司 Password extraction method of solid state disk with SM2246EN master control

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604548A (en) * 2009-03-26 2009-12-16 成都市华为赛门铁克科技有限公司 A kind of solid state hard disc and date storage method
CN103744864A (en) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 Method and system for reading and writing cache data and solid state disc thereof
CN106648785A (en) * 2016-12-28 2017-05-10 郑州云海信息技术有限公司 Method and system for designing SSD (Solid State Drives) micro-codes
CN107632943A (en) * 2017-08-30 2018-01-26 记忆科技(深圳)有限公司 A kind of method and solid state hard disc of solid state hard disc data protection
CN107861834A (en) * 2017-11-06 2018-03-30 华中科技大学 A kind of method based on wrong pre-detection skill upgrading solid state hard disc reading performance
CN107872231A (en) * 2016-09-28 2018-04-03 北京忆芯科技有限公司 LDPC interpretation methods and device
CN111164576A (en) * 2018-03-06 2020-05-15 西部数据技术公司 Fault storage device reconstruction method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733479B (en) * 2017-04-24 2021-11-02 上海宝存信息科技有限公司 Method for unloading solid state hard disk card and device using same
CN109725823B (en) * 2017-10-27 2021-11-16 伊姆西Ip控股有限责任公司 Method and apparatus for managing a hybrid storage disk array

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604548A (en) * 2009-03-26 2009-12-16 成都市华为赛门铁克科技有限公司 A kind of solid state hard disc and date storage method
CN103744864A (en) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 Method and system for reading and writing cache data and solid state disc thereof
CN107872231A (en) * 2016-09-28 2018-04-03 北京忆芯科技有限公司 LDPC interpretation methods and device
CN106648785A (en) * 2016-12-28 2017-05-10 郑州云海信息技术有限公司 Method and system for designing SSD (Solid State Drives) micro-codes
CN107632943A (en) * 2017-08-30 2018-01-26 记忆科技(深圳)有限公司 A kind of method and solid state hard disc of solid state hard disc data protection
CN107861834A (en) * 2017-11-06 2018-03-30 华中科技大学 A kind of method based on wrong pre-detection skill upgrading solid state hard disc reading performance
CN111164576A (en) * 2018-03-06 2020-05-15 西部数据技术公司 Fault storage device reconstruction method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于片内SRAM的固态硬盘转换层设计;谢长生 等;《计算机科学》;296-300 *

Also Published As

Publication number Publication date
CN111694764A (en) 2020-09-22

Similar Documents

Publication Publication Date Title
CN111694764B (en) Data reading method of failed solid state disk
US7526675B2 (en) Software recovery method for flash media with defective formatting
TWI459396B (en) Data writing and reading method, memory controller and memory storage apparatus
TWI479314B (en) Method of storing system data, and memory controller and memory storage apparatus using the same
TWI438630B (en) Data merging method for non-volatile memory and controller and stoarge apparatus using the same
US9304907B2 (en) Data management method, memory control circuit unit and memory storage apparatus
US9430327B2 (en) Data access method, memory control circuit unit and memory storage apparatus
CN107577549A (en) It is a kind of to store the method for testing for deleting function again
US20080086615A1 (en) Method and Apparatus to Internalize Non-Volatile Data Function for Sector Size Conversion
CN103678162B (en) System data storage method, memory controller and memory storage device
US8966161B2 (en) Memory storage device and restoring method thereof
CN103578566A (en) Memory storage apparatus and restoration method thereof
WO2007083449A1 (en) Nonvolatile storage, nonvolatile storage system, and method of managing nonvolatile storage failure
US8335885B2 (en) Storage device and method of accessing a status thereof
CN106371950A (en) Method and device for achieving RAID level conversion
CN111737051A (en) Trim data verification test method, device and system of SSD solid state disk
JP5217452B2 (en) Information processing apparatus and system, and storage area management method and program
CN103389941A (en) Memorizer formatting method, memorizer controller and memorizer memory device
US8392169B2 (en) Simulating virtual optical disc recorder by using a storage device and method for the same
US20110119529A1 (en) Virtual hard disk drive
CN210776642U (en) Automatic disk splicing device for multiple TF cards
JP2842837B2 (en) Mirror disk system
CN101261599A (en) Method for reading hard disk monitoring information
CN111694763B (en) Method for accessing failed INTEL solid state disk
CN111143110A (en) Raid data recovery method based on metadata in logical volume management

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant