×

Storage controller, data processing chip, and data processing method

  • US 10,210,044 B2
  • Filed: 05/11/2018
  • Issued: 02/19/2019
  • Est. Priority Date: 12/24/2016
  • Status: Active Grant
First Claim
Patent Images

1. A first storage controller, comprising:

  • a processor; and

    a non-transitory memory;

    wherein the first storage controller is comprised in a storage system, the storage system comprises at least one storage device, a first storage device of the at least one storage device comprises the first storage controller and a first storage medium, each storage device of the at least one storage device comprised in the storage system comprises a storage controller and a storage medium, and each storage device of the at least one storage device comprised in the storage system is configured to connect with any other storage device comprised in the storage system;

    wherein the processor is configured to execute a program in the non-transitory memory to;

    receive to-be-written data;

    divide the to-be-written data into K to-be-coded data chunks, wherein each data chunk of the K to-be-coded data chunks comprises R data code blocks, (R+1) is a prime number, and (R+1)>

    K;

    generate a first check chunk and a second check chunk according to a check matrix and the K to-be-coded data chunks, wherein each of the first check chunk and the second check chunk respectively comprises R check code blocks;

    create a chunk group, wherein the chunk group comprises the K to-be-coded data chunks, the first check chunk, and the second check chunk; and

    store each data chunk in the chunk group into the first storage medium, and store each check chunk in the chunk group into a second storage medium;

    wherein the check matrix comprises 2*R rows and (K+2)*R columns, each column of the check matrix corresponds to one code block, each row of the check matrix corresponds to one exclusive OR equation the (K*R+1)th column to the ((K+1)*R)th column of the check matrix form a chunk column set of the first check chunk, and the ((K+1)*R+1)th column to the ((K+2)*R)th column of the check matrix form a chunk column set of the second check chunk;

    wherein the check matrix is a standard check matrix H, or the check matrix is obtained after N exchange operations are performed on the standard check matrix H, wherein N≥

    1, and the N exchange operations are each an exchange of any two chunk column sets;

    wherein, for each value of i and each value of j, coordinates in the standard check matrix H corresponding to the following first relations are set to be 1;


    when i<

    j,

    H[i+1][j*R+(R−

    j+i
    )mod R+1], and
    H[R+i+1][(j+1)*R

    (R−

    j+i
    )mod R];

    or
    when i>

    j,

    H[i+1][j*R+(R

    1

    j+i
    )mod R+1], and
    H[R+i+1][(j+1)*R

    (R

    1

    j+i
    )mod R]; and

    wherein 2*R≥

    i≥

    1, (K+2)*R≥

    j≥

    1, and coordinates in the in the standard check matrix H that do not correspond to the first relations are set to be o.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×