IP Library Granted Patent US 9,223,509
Granted Patent B2
US 9,223,509 · App. 14/711,091 · Granted Dec 29, 2015

File processing method and storage device

Inventors: Han Kong (Chengdu, CN); Jing Wang (Chengdu, CN)
Assignee: Huawei Technologies Co., Ltd.
G06F3/0619G06F3/0625G06F3/0643G06F3/0665G06F3/0689G06F11/1076G06F17/30G06F2003/0692G06F2211/1028Y02B60/1225
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,223,509
App. No.
14/711,091
Granted
Dec 29, 2015
Kind
B2
Abstract

A file processing method and a storage device are disclosed. In the method, a storage device receives T files that are to be stored in the RAID, and determines a sequence number of a check block of a stripe of the RAID. The storage device obtains a data block of the K th file in the T files as the K th data block of the stripe, where a value of K progressively increases from 1 to T, and the value of K is not equal to the sequence number of the check block of the stripe. After computing the check block according to data blocks, the storage device writes, into the T disks, the data blocks and the obtained check block of the stripe. Using the foregoing method, one file can be written into one disk of the RAID while ensuring security of file storage.

Claims (48)

1. A file processing method performed by a storage device for storing a file in a redundant array of independent disks (RAID), comprising:

receiving T files that are to be stored in the RAID, wherein a value of the T is no less than 3, and the value of the T is equal to the number of disks that form the RAID;

determining a sequence number of a check block of a stripe of the RAID;

obtaining a data block, to be written into a disk, of the K th file in the T files as the K th data block of the stripe until all data blocks of the stripe are obtained, wherein a value of K progressively increases from 1 to T, and the value of K is not equal to the sequence number of the check block of the stripe;

computing the check block of the stripe according to data blocks of the stripe; and

writing, into the T disks, the data blocks of the stripe and the obtained check block of the stripe, wherein each block is written into one disk.

2. The file processing method according to claim 1 , further comprising:

determining whether other files except the T files are received when the K th file has no data block to be written into the RAID;

selecting a file from the received other files when the other files are received; and

using a data block, to be written into a disk, in the selected file as the K th data block of the stripe.

3. The file processing method according to claim 1 , further comprising filling the K th data block of the stripe with 0s when the K th file has no data block to be written into a disk and other files except the T files are not received.

4. A method performed by a storage device for storing a file in a redundant array of independent disks (RAID), wherein the RAID comprises D data disks and P independent check disks, a value of the D is no less than 2, and a value of the P is no less than 1, and wherein the method comprises:

receiving D files that are to be stored in the RAID;

obtaining a data block, to be written into a data disk, of the K th file in the D files as a data block that is of a stripe and is to be stored in the K th data disk until all data blocks of the stripe are obtained, wherein a value of K progressively increases from 1 to D;

computing P check blocks of the stripe according to the obtained D data blocks; and

writing the D data blocks into the D data disks, and writing the P check blocks into the P independent check disks, wherein each block is written into one disk.

5. The method according to claim 4 , further comprising:

determining whether other files except the D files are received when the K th file has no data block to be written into a data disk;

selecting a file from the received other files when the other files are received; and

using a data block, to be written into a disk, in the selected file as a data block that is of the stripe and is to be stored in the K th data disk.

6. The method according to claim 4 , further comprising filling the data block that is of the stripe and is to be stored in the K th data disk with 0s when the K th file has no data block to be written into a data disk and other files except the D files are not received.

7. A storage device comprising:

a redundant array of independent disks (RAID) configured to store a file, and the RAID comprises T disks, wherein a value of the T is no less than 3;

a communication interface configured to communicate with a host and the RAID; and

a processor configured to:

receive T files that are to be stored in the RAID;

determine a sequence number of a check block of a stripe of the RAID;

obtain a data block, to be written into a disk, of the K th file in the T files as the K th data block of the stripe until all data blocks of the stripe are obtained, wherein a value of K progressively increases from 1 to T, and the value of K is not equal to the sequence number of the check block of the stripe;

compute the check block of the stripe according to data blocks of the stripe; and

write, into the T disks, the data blocks of the stripe and the obtained check block of the stripe, wherein each block is written into one disk.

8. The storage device according to claim 7 , wherein the processor is further configured to:

determine whether other files except the T files are received when the K th file has no data block to be written into a disk;

select a file from the received other files when the other files are received; and

use a data block, to be written into a disk, in the selected file as the K th data block of the stripe.

9. The storage device according to claim 7 , wherein the processor is further configured to fill the K th data block of the stripe with 0s when the K th file has no data block to be written into a disk and other files except the T files are not received.

10. A storage device comprising:

a redundant array of independent disks (RAID) configured to store a file, wherein the RAID comprises D data disks and P independent check disks, a value of the D is no less than 2, and a value of the P is no less than 1;

a communication interface configured to communicate with a host and the RAID; and

a processor configured to:

receive D files that are to be stored in the RAID;

obtain a data block, to be written into a data disk, of the K th file in the D files as a data block that is of a stripe and is to be stored in the K th data disk until all data blocks of the stripe are obtained, wherein a value of K progressively increases from 1 to D;

compute P check blocks of the stripe according to the obtained D data blocks; and

write the D data blocks into the D data disks, and write the P check blocks into the P independent check disks, wherein each block is written into one disk.

11. The storage device according to claim 10 , wherein the processor is further configured to:

determine whether other files except the D files are received when the K th file has no data block to be written into a data disk;

select a file from the received other files when the other files are received; and

use a data block, to be written into a disk, in the selected file as a data block that is of the stripe and is to be stored in the K th data disk.

12. The storage device according to claim 10 , wherein the processor is further configured to fill the data block that is of the stripe and is to be stored in the K th data disk with 0s when the K th file has no data block to be written into a data disk and other files except the D files are not received.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2022
From: HUAWEI TECHNOLOGIES CO., LTD.
To: XFUSION DIGITAL TECHNOLOGIES CO., LTD.
Reel/Frame 058682/0312 →
Continuity (3)
Continuation 14567588 · Dec 11, 2014
Continuation PCTCN2013081172 · Aug 9, 2013
Related Publication 20150242156A1 · Aug 27, 2015