Abstract: Disclosed herein is a method and Serially Attached SCSI (SAS) controller for transmitting data using SCSI. In an embodiment, a plurality of I/O operations received from a storage unit are fragmented into a plurality of blocks. Further, each of the plurality of blocks are mapped with corresponding memory drives. Thereafter, a reduced number of virtual lanes required for transmitting the plurality of blocks to the corresponding memory drives is estimated. Finally, the reduced number of virtual lanes are created for transmitting the plurality of blocks to the corresponding memory drives. In an embodiment, the present disclosure uses virtual lanes for transmitting data, thereby eliminating requirement of dedicated, physical lanes for transmitting the data. Consequently, according to embodiments of present disclosure, the SAS controller may be configured to simultaneously activate multiple virtual lanes for completing the data transmission, thereby resulting in faster and reliable data transmission. FIG. 1
Claims:WE CLAIM:
1. A method of transmitting data using Small Computer System Interface (SCSI), the method comprising:
receiving, by a Serially Attached SCSI (SAS) controller, a plurality of Input/Output (I/O) operations, related to transmission of data, from a storage unit (101);
fragmenting, by the SAS controller (109), each of the plurality of I/O operations (107) into a plurality of blocks (111) based on size of each of the plurality of I/O operations (107), wherein each of the plurality of blocks (111) are stored in a cache memory (113), associated with the SAS controller (109), along with a corresponding logical memory address;
mapping, by the SAS controller (109), the corresponding logical memory address of each of the plurality of blocks (111) with a corresponding physical memory address of one or more memory drives (117) for storing the plurality of blocks (111), wherein the mapping is based on metadata (211) associated with each of the plurality of blocks (111);
estimating, by the SAS controller (109), a reduced number of virtual lanes (115) required for transmitting the plurality of blocks (111) to corresponding one or more memory drives (117) based on analysis of one or more transmission parameters (213) using predetermined analysis techniques; and
creating, by the SAS controller (109), the reduced number of virtual lanes (115) for transmitting each of the plurality of blocks (111) to the one or more memory drives (117).
2. The method as claimed in claim 1, wherein the metadata (211) associated with each of the plurality of blocks (111) comprises at least one of a destination memory address for storing each of the plurality of blocks (111).
3. The method as claimed in claim 1, wherein the one or more transmission parameters (213) comprise at least one of the size of each of the plurality of blocks (111), transmission speed in the virtual lanes (115), and number of the plurality of I/O operations (107) pending for the transmission.
4. The method as claimed in claim 1, wherein the predetermined analysis techniques comprise at least one of linear regression analysis, multi-linear regression analysis and logistic regression analysis.
5. The method as claimed in claim 1, wherein transmitting the plurality of blocks (111) through the virtual lanes (115) comprises:
grouping the plurality of blocks (111) into one or more clusters based on the corresponding physical memory address mapped to the plurality of blocks (111); and
assigning a virtual lane for each of the one or more clusters for transmitting the plurality of blocks (111) in the one or more clusters.
6. The method as claimed in claim 1, wherein the virtual lanes (115) are moved to a passive state upon completing transmission of each of the plurality of blocks (111).
7. A Serially Attached Small Computer System Interface (SAS) controller for transmitting data using Small Computer System Interface (SCSI), the SAS controller (109) comprising:
a processor (203); and
a memory (205), communicatively coupled to the processor (203), wherein the memory (205) stores processor-executable instructions, which on execution, cause the processor (203) to:
receive a plurality of Input/Output (I/O) operations related to transmission of data from a storage unit (101);
fragment each of the plurality of I/O operations (107) into a plurality of blocks (111) based on size of each of the plurality of I/O operations (107), wherein each of the plurality of blocks (111) are stored in a cache memory (113), associated with the SAS controller (109), along with a corresponding logical memory address;
map the corresponding logical memory address of each of the plurality of blocks (111) with a corresponding physical memory address of one or more memory drives (117) for storing the plurality of blocks (111), wherein the mapping is based on metadata (211) associated with each of the plurality of blocks (111);
estimate a reduced number of virtual lanes (115) required for transmitting the plurality of blocks (111) to corresponding one or more memory drives (117) based on analysis of one or more transmission parameters (213), using predetermined analysis techniques; and
create the reduced number of virtual lanes (115) for transmitting each of the plurality of blocks (111) to the one or more memory drives (117).
8. The SAS controller (109) as claimed in claim 7, wherein the metadata (211) associated with each of the plurality of blocks (111) comprises at least one of a destination memory address for storing each of the plurality of blocks (111).
9. The SAS controller (109) as claimed in claim 7, wherein the one or more transmission parameters (213) comprise at least one of the size of each of the plurality of blocks (111), transmission speed in the virtual lanes (115), and number of the plurality of I/O operations (107) pending for the transmission.
10. The SAS controller (109) as claimed in claim 7, wherein the predetermined analysis techniques comprise at least one of linear regression analysis, multi-linear regression analysis and logistic regression analysis.
11. The SAS controller (109) as claimed in claim 7, wherein to transmit the plurality of blocks (111) through the virtual lanes (115), the processor (203) is configured to:
group the plurality of blocks (111) into one or more clusters based on the corresponding physical memory address mapped to the plurality of blocks (111); and
assign a virtual lane for each of the one or more clusters for transmitting the plurality of blocks (111) in the one or more clusters.
12. The SAS controller (109) as claimed in claim 7, wherein the processor (203) is further configured to move the virtual lanes (115) into a passive state upon completing transmission of each of the plurality of blocks (111).
Dated this 2nd day of November 2018
R. RAMYA RAO
OF K&S PARTNERS
ATTORNEY FOR THE APPLICANT
IN/PA-1607
, Description:TECHNICAL FIELD
The present subject matter is, in general, related to data transmission and more particularly, but not exclusively, to a method and system for transmitting data using Small Computer System Interface (SCSI).
| # | Name | Date |
|---|---|---|
| 1 | 201841041630-STATEMENT OF UNDERTAKING (FORM 3) [02-11-2018(online)].pdf | 2018-11-02 |
| 2 | 201841041630-REQUEST FOR EXAMINATION (FORM-18) [02-11-2018(online)].pdf | 2018-11-02 |
| 3 | 201841041630-POWER OF AUTHORITY [02-11-2018(online)].pdf | 2018-11-02 |
| 4 | 201841041630-FORM 18 [02-11-2018(online)].pdf | 2018-11-02 |
| 5 | 201841041630-FORM 1 [02-11-2018(online)].pdf | 2018-11-02 |
| 6 | 201841041630-DRAWINGS [02-11-2018(online)].pdf | 2018-11-02 |
| 7 | 201841041630-DECLARATION OF INVENTORSHIP (FORM 5) [02-11-2018(online)].pdf | 2018-11-02 |
| 8 | 201841041630-COMPLETE SPECIFICATION [02-11-2018(online)].pdf | 2018-11-02 |
| 9 | 201841041630-Request Letter-Correspondence [03-11-2018(online)].pdf | 2018-11-03 |
| 10 | 201841041630-Power of Attorney [03-11-2018(online)].pdf | 2018-11-03 |
| 11 | 201841041630-Form 1 (Submitted on date of filing) [03-11-2018(online)].pdf | 2018-11-03 |
| 12 | 201841041630-Proof of Right (MANDATORY) [25-03-2019(online)].pdf | 2019-03-25 |
| 13 | Correspondence by Agent_Form 1_28-03-2019.pdf | 2019-03-28 |
| 14 | 201841041630-PETITION UNDER RULE 137 [29-06-2021(online)].pdf | 2021-06-29 |
| 15 | 201841041630-OTHERS [29-06-2021(online)].pdf | 2021-06-29 |
| 16 | 201841041630-FORM 3 [29-06-2021(online)].pdf | 2021-06-29 |
| 17 | 201841041630-FER_SER_REPLY [29-06-2021(online)].pdf | 2021-06-29 |
| 18 | 201841041630-DRAWING [29-06-2021(online)].pdf | 2021-06-29 |
| 19 | 201841041630-CORRESPONDENCE [29-06-2021(online)].pdf | 2021-06-29 |
| 20 | 201841041630-COMPLETE SPECIFICATION [29-06-2021(online)].pdf | 2021-06-29 |
| 21 | 201841041630-CLAIMS [29-06-2021(online)].pdf | 2021-06-29 |
| 22 | 201841041630-ABSTRACT [29-06-2021(online)].pdf | 2021-06-29 |
| 23 | 201841041630-FER.pdf | 2021-10-17 |
| 24 | 201841041630-US(14)-HearingNotice-(HearingDate-28-02-2024).pdf | 2024-02-08 |
| 25 | 201841041630-POA [12-02-2024(online)].pdf | 2024-02-12 |
| 26 | 201841041630-FORM 13 [12-02-2024(online)].pdf | 2024-02-12 |
| 27 | 201841041630-Correspondence to notify the Controller [12-02-2024(online)].pdf | 2024-02-12 |
| 28 | 201841041630-AMENDED DOCUMENTS [12-02-2024(online)].pdf | 2024-02-12 |
| 29 | 201841041630-Written submissions and relevant documents [14-03-2024(online)].pdf | 2024-03-14 |
| 30 | 201841041630-Information under section 8(2) [14-03-2024(online)].pdf | 2024-03-14 |
| 31 | 201841041630-FORM-26 [14-03-2024(online)].pdf | 2024-03-14 |
| 32 | 201841041630-FORM 3 [14-03-2024(online)].pdf | 2024-03-14 |
| 33 | 201841041630-PatentCertificate15-03-2024.pdf | 2024-03-15 |
| 34 | 201841041630-IntimationOfGrant15-03-2024.pdf | 2024-03-15 |
| 1 | searchstrategyE_21-12-2020.pdf |